1

在 C# 中,每次执行读取时是否可以从文件中仅读取一定数量的数据字节?它将完成与下面的 python 代码行相同的事情

data=file.read(1024)

其中 1024 是它读取的字节数。

data 会从文件中返回一个包含 1024 字节文本的字符串。

C# 有什么东西可以完成同样的事情吗?

4

1 回答 1

3

您以 1024 字节的块读取文件,如下所示:

string fileName = @"Path to the File";
int bufferCapacity = 1024;
using (FileStream fs = new FileStream(fileName, FileMode.Open, FileAccess.Read))
{
   var buffer = new byte[bufferCapacity ]; // will contain the first 1024 bytes
   fs.Read(buffer, 0, bufferCapacity);
}

最后,buffer将包含所需的字节,要将它们转换为字符串,您可以使用以下代码行:

var stringData = System.Text.Encoding.UTF8.GetString(buffer);

对您的附加说明,如果您需要从文件中获取前n行,则意味着您可以使用以下行:

 List<string> firstNLines = File.ReadLines(fileName).Take(n).ToList();
于 2017-02-16T06:11:10.463 回答