私は現在 Java 7 に移行しており、すべてのクラスを新しいjava.nio.file
パッケージを使用するように変換しようとしています。ある時点で、次のようなコードを使用して、ファイルが読み書き可能かどうかを確認しようとしました。
MyClass myObject = new MyClass();
Path path = Paths.get("testDir/sub1/sub2/test.txt");
myObject.setReadable(Files.isReadable(path));
myObject.setWritable(Files.isWritable(path));
これを junit (Windows 7) でテストすると、 と の両方isReadable();
がisWritable();
一貫してそれぞれ 25 秒間ハングしてから、戻ります。これは非常に受け入れがたいことです。これは Windows の制限でしょうか?
私のアプリケーションは最終的に UNIX で実行される予定ですが、まだテストする機会がありません。私がテストしている各ファイルは、次のコードで作成されたことに言及する必要があると思います。
Files.createFile(Paths.get("testDir/sub1/sub2/test.txt"));
物事をスピードアップするために私にできることはありますか? ありがとう!
編集:したがってpath.toFile().canRead()
、canWrite() と同じように、すぐに返されるようです。それに関しては、それらのメソッドを使用できますが、本当に java.nio.file パッケージのみを使用したいと考えています。