-3

我尝试使用File类和FileStream类从大文件中读取数据或将大量数据写入文件。

假设我在 Visual Studio 2010 中使用 C#。哪个类为我提供了更好的性能,为什么?

4

3 回答 3

3

找出答案的最佳方法是使用两者构建一些示例应用程序,并根据您的输入数据对其进行测试。这样,您将有科学证据作为您的决定的依据。阅读Soner Gönül 在评论中建议的 Eric Lippert 的博客文章。

如果您有两匹马,并且您想知道这两匹马中哪一个跑得更快,那么就让您的马匹比赛。不要对马匹进行简短的描述,将它们发布到互联网上,让随机的陌生人猜猜哪个更快!即使你得到了一个准确的答案,你又怎么能相信它的准确性呢?通过自己运行并用秒表测量它们,您可以轻松准确地发现两个程序中的哪个更快。- 埃里克·利珀特

于 2013-04-02T12:48:19.407 回答
3

AFileStream是做(正常)文件 IO 的唯一方法。类中的任何方法都File使用 aFileStream来访问文件。

因此,使用FileStream将使您最接近文件系统,但File类中的方法不会增加太多开销,因此只有在您对要使用的实际文件有一些特殊了解时,您才能超越它们让您以某种方式优化文件访问。

于 2013-04-02T12:49:21.597 回答
1

如果您使用的是 LARGE 文件,则 FileStream 是唯一的方法 - 使用 File 会将整个文件读入内存。使用 FileStream 将允许您读取/写入文件的某些部分。话虽如此,请先尝试 File(它更容易使用),看看它是否执行正常。

于 2013-04-02T12:50:41.963 回答