【发布时间】:2011-03-10 15:36:57
【问题描述】:
File.listFiles() 方法列出文件夹的内容。然而,在 Windows 上,当您在根驱动器上调用该方法时,它还会产生一些 - 缺少更好的短语 - “虚拟”文件夹(如“文档和设置”,在最近的 Windows 版本中被“用户”取代) .
如果您随后为这些“虚拟”文件夹之一调用 listFiles(),它总是返回 null。这就是我的问题所在,因为我想递归地遍历所有文件夹。我需要一种方法来过滤掉这些文件夹,最好不要检查它们的名字......
还有一些普通用户看不到的附加文件夹(如“系统卷信息”或该驱动器的回收站文件夹),我很高兴找到一种将它们过滤掉的方法不用把名字列入黑名单。
不幸的是,这些文件夹的行为与真实文件夹一样。我正在寻找类似File.isSystemFolder()-method 的东西。
非常感谢您的任何建议
【问题讨论】:
标签: java windows file-io directory