在C#中,每次执行读取时,是否可以从文件中只读取一定数量的字节数据? 它将完成与下面的python代码行相同的事情
data=file.read(1024)
其中1024是它读取的字节数。
数据将返回一个包含文件中1024字节文本的字符串。
C#有什么东西可以完成同样的事情吗?
答案 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();