我使用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