我目前正在迁移到 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 包。