2017-07-21 203 views
0

在Java中有沒有一種方法可以檢查給定的目錄路徑是否位於本地驅動器(路徑如「C:\ data \ temp」)或共享網絡上(路徑如「\\ <remote_m/c_ip> \ share「)? 請注意,在windows環境下,網絡路徑可以映射爲驅動器。所以在這種情況下,「Z:\ temp」實際上可能在網絡上。同樣,我們可以共享本地文件夾並將其作爲:\\ <本地m/c ip > \ share,儘管它實際上位於本地驅動器上。確定路徑是本地路徑還是網絡路徑

+0

https://stackoverflow.com/questions/3542018/how-can-i-get-list-of-all-drives-but-also-get-the-corresponding-drive-type-remo – OldProgrammer

+0

@OldProgrammer above問題是要獲取有關所有驅動器的信息,而不是如何檢查給定路徑是在本地驅動器上還是在共享網絡上。 – OwlR

回答

0

您可以使用java運行:「cmd fsutil fsinfo drivetype {drive letter}」輸出會告訴您它是否是網絡驅動器。

檢查Run cmd commands through java以查看如何使用CMD來運行命令。

+0

fsutil需要「驅動程序字母」,在這裏我只有目錄路徑可能沒有驅動器號(例如,\\ some ip \ share) – OwlR

+0

如果您有IP地址,您可以檢查IP地址是否與本地主機。您無法在Windows直接共享網絡上的映射驅動器。如果使用符號鏈接將網絡驅動器映射到網絡中共享的本地文件夾,則我不確定您將如何處理該情形。 –