计算java中的文件长度:FileReader与文件。长
为什么在下面的代码中fr_count和len会不同
FileReader fr = new FileReader(filename);
int c;
long fr_count = 0;
while ( -1 != (c = fr.read()) )
fr_count++;
long len = new File(filename).length();
我在两个文件中使用了上面的代码。结果如下:
test.txt
FileReader: 263742
File.length: 265963
output.enc
FileReader: 146360
File.length: 212998
# 1 楼答案
File.Length
返回文件中的Bytes
个数。计数FileReader.read()
就是告诉您文件中有多少个字符# 2 楼答案
fr_count
是从文件中读取的字符数len
是文件中的字节数。他们是两个完全不同的东西。例如,一些字符以多个字节表示,一些编码使用byte order mark。这两者都会导致文件中字符数和字节数之间的差异