1

在我的单元测试中,我编写了以下代码:

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。

想法,有人吗?

更新:

我不知道发生了什么,但是现在使用 3 行中的任何一行都可以成功测试,包括Files.isHidden(path);!它可能是 IDE 或其他东西..(Windows 8 64 位上的 IntelliJ 12.1.4 CE)。

我仍然对这些方法之间的区别感兴趣,特别是其中一种可能比另一种更好。

4

0 回答 0