我正在File.length()
计算字数,我总是得到1个字节File.length()
.
这是我用来比较的片段:
File testFile = new File("testdir", "testfile.txt");
FileInputStream in = new FileInputStream(testFile );
byte[] buffer = new byte[1024];
int len = in.read(buffer);
int byteCount = len;
while (len != -1) {
len = in.read(buffer);
byteCount += len;
}
System.out.println("count: " + byteCount + ", file.length(): " +
testFile.length() + ", is_equal: "+(byteCount == testFile.length()));
Run Code Online (Sandbox Code Playgroud)
而输出是 count: 15853294, file.length(): 15853295, is_equal: false
1字节来自哪里?是EOF?