我试图将文件拆分大约1GB我不知道有什么方法可以这样做我用的?StreamReader.ReadLine还是File.ReadLines?
请注意,我没有在内存中获取所有数据文件,因为它需要更多内存.
File.ReadLines在枚举行时,在内部创建ReadLinesIterator用于StreamReader.ReadLine()逐行读取文件的内容:
internal class ReadLinesIterator : Iterator<string>
{
private StreamReader _reader;
public override bool MoveNext()
{
if (this._reader != null)
{
base.current = this._reader.ReadLine();
if (base.current != null)
return true;
base.Dispose();
}
return false;
}
}
Run Code Online (Sandbox Code Playgroud)
因此,差异在于 - StreamReader.ReadLine()从流中读取单行.File.ReadLines迭代所有行(直到你停止)并StreamReader.ReadLine()用于从流中读取每一行.