是否可以每次读取一定数量的文件?

时间:2017-02-16 06:05:37

标签: c# python file bytestream

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

data=file.read(1024)

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

数据将返回一个包含文件中1024字节文本的字符串。

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

1 个答案:

答案 0 :(得分: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();