您好我使用的代码如下:
var f = new FileInfo(@"C:\sample.pdf");
var size = f.Length
当我在资源管理器中检查文件时,它显示的大小为214KB。
我的代码显示大小为218.882KB。
由于资源管理器不包含元数据,这是否存在差异?
有人可以告诉我如何通过代码获得214KB的数据吗?
答案 0 :(得分:4)
尝试
var fileLengthInKB = f.Length / 1024.0;
答案 1 :(得分:0)
您的C#代码显示整数 尝试使用这些规则进行计算:
1 KB = 1024 B
1 MB = 1024 KB
等
应与资源管理器显示的内容相匹配。
此外,在资源管理器中比较'尺寸'与'磁盘尺寸'。
答案 2 :(得分:0)
我已经投票给了正确的答案,但是想要注意Windows“错误地”报告kibibytes(KiB),而不是千字节(KB)。
虽然传统上将KB计算为2 ^ 10字节(1024)数十年,但IEC在1999年以SI术语(10 ^ 3字节)重新定义了KB,并创建了较新的KiB度量单位来取代它。 / p>