すべての権限を抑制したファイルがあります。誰もファイルを読めないはずですよね?実際、私が走れば
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()メソッドがファイルのサイズにアクセスするのを防ぐ方法はありますか?
Ubuntu12.10を使用しています