我有一个文件,我从该文件中禁止了所有权限。应该没有人能够读取文件,对吧?事实上,如果我跑
File f = new File("not_readable.pdf");
System.out.println(f.canRead())
我明白了
false
但是,如果我打电话
File f = new File("not_readable.pdf");
System.out.println(f.length())
我明白了
455074
我的理解是,为了获得文件的大小,必须先打开并读取文件,但这个结果强烈表明我错了。有谁知道为什么会这样?另外,有没有办法阻止 Java 的 file.length() 方法访问文件的大小?
我正在使用 Ubuntu 12.10