.txt逐行读取所有字节
本文关键字:字节 读取 逐行 txt | 更新日期: 2023-09-27 18:32:38
>我只需要在一行上读取所有字节并将它们放入数组中,然后移动到下一行,依此类推。
例如:
.txt文件
word
apple
zzz
现在在我的程序中,我必须在第一行读取一堆字节,我的数组将由 4 个元素组成。我会做我的处理,然后继续下一行,依此类推。
我看过很多地方,但没有运气。理想情况下,我需要类似ReadAllBytes()
的东西,除了不是读取整个文件,而是需要它只读取一行。
编辑:由于我要提高速度,我不能做ReadAllLines((或任何需要我先读取字符串然后将其转换为字节数组的事情。
编辑2:我现在必须回溯一点,因为我知道我不擅长解释任何事情,但我尝试。理想情况下,这就是我希望代码的工作方式
loop through all lines of txt file
loop through all bytes on that line
read the byte and process it
if I need to, I break the loop and move on to the next line
这只是为了更好地理解我的困境。
即使问题仍未解决,我仍然要感谢所有真正试图帮助我的人:谢谢你的尝试
假设您的文本文件是 ASCII:
var lines = File.ReadLines(@"c:'temp'foo.txt");
foreach (var line in lines)
{
byte[] bytes = Encoding.ASCII.GetBytes(line);
// do some processing with byte array
}
根据评论更新为ReadLines()
。
您可以使用StreamReader.ReadLine从特定文件中读取一行,然后将字符串转换为字节数组,最后完成您的工作。
using (var reader = File.OpenText(path))
{
string line;
while ((line = reader.ReadLine()) != null)
{
foreach (var item in Encoding.UTF8.GetBytes(line))
{
//do your work here
//break the foreach loop if the condition is not satisfied
}
}
}