将文本文件读入字符串变量的最快方法是什么?

我理解它可以通过几种方式完成,比如读取单个字节,然后将它们转换为字符串。我在寻找一种编码最少的方法。


当前回答

string content = System.IO.File.ReadAllText( @"C:\file.txt" );

其他回答

File怎么样?ReadAllText:

string contents = File.ReadAllText(@"C:\temp\test.txt");
System.IO.StreamReader myFile =
   new System.IO.StreamReader("c:\\test.txt");
string myString = myFile.ReadToEnd();

对于那些觉得这个东西有趣和有趣的新手来说,在大多数情况下(根据这些基准测试)将整个文件读入字符串的最快方法是通过以下方法:

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的竞争。

string contents = System.IO.File.ReadAllText(path)

这是MSDN文档

string text = File.ReadAllText("Path");一个字符串变量中包含了所有文本。如果你需要每一行单独,你可以使用这个:

string[] lines = File.ReadAllLines("Path");