从Windows 7开始,目录windows / system32 / drivers / etc被特别隐藏。 Windows 7本身并没有显示它,但如果我手动打开它就会存在。
今天我正在玩Java JFace Eclipse示例(http://www.ibm.com/developerworks/library/os-ecgui1/),并且想知道java也没有显示etc目录。
那么在使用file.listFiles()时如何获取所有目录/文件? 有什么想法吗?
答案 0 :(得分:0)
File.listFiles()
方法应在结果中包含正常的“隐藏”文件。如果没有,那是因为在操作系统级别发生了一些事情,要么从应用程序(而不仅仅是用户)隐藏文件。
我在java.io.File
或Java 7 java.nio.*
扩展程序中找不到任何提及访问“特别隐藏”文件的内容。
它可能是与权限相关的事情......如果是这样的话,那么解决方案就是以提升的权限执行Java应用程序。
但简单的解决方案是让您的应用程序远离Windows驱动程序目录树。
答案 1 :(得分:0)
正如我写的那样,我玩了一个JFace示例,它构建了一个基于Java的Windows资源管理器。 我同意你的看法,Java应用程序通常不应该在Windows驱动程序目录树中执行某些操作。 其他程序(如Total Commander)可以看到“特别隐藏”的文件,而不运行其他正常权限的程序。 我假设,Windows有一些API函数来获取该信息。 我只是对基于Java的解决方案感兴趣,它可以向我展示一切,就在我的磁盘上......