gpt4 book ai didi

c# - 为什么以字节为单位的文件大小不等于每一行的总字节大小?

转载 作者:太空宇宙 更新时间:2023-11-03 17:15:35 25 4
gpt4 key购买 nike

我尝试创建一个进度条来显示解析器读取文本文件的进度。

为此,我使用 fileSize = FileInfo(file).Length 读取文件的字节,并且在每次迭代中,我使用

总结当前行的字节

sum += reader.CurrentEncoding.GetByteCount(currentLine)

我假设当我读完整个文件时,sum 应该等于 fileSize

但是,事实并非如此。 sum 总是比 fileSize 小几千字节。为什么是这样?我如何才能正确地创建一个进度来显示我已经解析了多少文件?

最佳答案

因为 ReadLine() 会移除行尾。通常是 CR+LF,但不幸的是文本文件还有其他约定(只有 LF)。

我想您可以找出数据中的 LineFeed 是什么,只需添加长度,无需为编码而烦恼:

sum += reader.CurrentEncoding.GetByteCount(currentLine) + 2;

关于c# - 为什么以字节为单位的文件大小不等于每一行的总字节大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8712566/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com