我使用Java中的File.listRoots()列出了桌面中的所有可用驱动器。我有一些Mapped驱动器。当我列出根源时,它将获取本地驱动器以及映射的驱动器。为了排除我使用的映射驱动器以下代码片段:从本地驱动器识别映射驱动器
for (File drive :File.listRoots()){
String typeDescription = FileSystemView.getFileSystemView().getSystemTypeDescription(drive);
}
根据返回的类型描述,我正在过滤驱动器。但这不是普遍标准,也不被其他操作系统所接受。仅支持Windows。此外还有一个语言限制(英文仅支持类型描述)。任何人都可以给我任何其他解决方案来全局过滤映射驱动器。
注:
它必须是具体到JDK1.6
其他任何解决方案都是平台特定的。但是,因为_All available drives_是一个纯粹的Windows术语,您可能正在寻找windows only解决方案? –
@ Oleg Mikheev。是的..我正在寻找解决方案在windows.But在Linux机器File.listRoots()只返回根目录。所以在Linux中没有问题。我需要区分映射的驱动器和本地驱动器在Windows平台... –
删除我的答案。我只是在OS X上试过,我发现你遇到的问题。如果我想到任何东西,我会发布另一个答案。 – Dave