将文本文件读入字符串变量的最快方法是什么?
我理解它可以通过几种方式完成,比如读取单个字节,然后将它们转换为字符串。我在寻找一种编码最少的方法。
将文本文件读入字符串变量的最快方法是什么?
我理解它可以通过几种方式完成,比如读取单个字节,然后将它们转换为字符串。我在寻找一种编码最少的方法。
当前回答
File怎么样?ReadAllText:
string contents = File.ReadAllText(@"C:\temp\test.txt");
其他回答
string content = System.IO.File.ReadAllText( @"C:\file.txt" );
对于那些觉得这个东西有趣和有趣的新手来说,在大多数情况下(根据这些基准测试)将整个文件读入字符串的最快方法是通过以下方法:
using (StreamReader sr = File.OpenText(fileName))
{
string s = sr.ReadToEnd();
}
//you then have to process the string
然而,绝对最快的读取文本文件的整体似乎是以下:
using (StreamReader sr = File.OpenText(fileName))
{
string s = String.Empty;
while ((s = sr.ReadLine()) != null)
{
//do what you have to here
}
}
与其他几种技术相比,它在大多数情况下胜出,包括与BufferedReader的竞争。
File怎么样?ReadAllText:
string contents = File.ReadAllText(@"C:\temp\test.txt");
string text = File.ReadAllText("Path");一个字符串变量中包含了所有文本。如果你需要每一行单独,你可以使用这个:
string[] lines = File.ReadAllLines("Path");
我在一个ReadAllText和StreamBuffer之间做了一个比较,一个2Mb的csv,它的差异似乎是相当小的,但ReadAllText似乎从完成函数所需的时间占上风。