在我的单元测试中,我编写了以下代码:
assertTrue(Files.isHidden(path));
测试失败了。
在Windows文件资源管理器中,我检查了该文件是否存在并被隐藏。 在尝试以下替代方案后,我正在寻找解释。
path.toFile().isHidden(); // returns true
Files.getAttribute(path, "dos:hidden", LinkOption.NOFOLLOW_LINKS); // returns true
Files.isHidden(path); // returns false
运行Windows& Oracle JDK v1.8.0-ea。
想法,有人吗?
更新
我不知道发生了什么,但现在测试成功使用包括Files.isHidden(path);
在内的3行中的任何一行!它可能是IDE或其他东西..(Windows 8 64位上的IntelliJ 12.1.4 CE)。
我仍然对这些方法之间的区别感兴趣,特别是在一个方法可能比另一方方法更好的情况下。