2017-07-21 5 views
0

Gibt es eine Möglichkeit in Java zu überprüfen, ob der angegebene Verzeichnispfad auf dem lokalen Laufwerk (Pfad wie "C: \ data \ temp") oder im freigegebenen Netzwerk (Pfad wie "\\ <remote_m/c_ip> \ share ")? Bitte beachten Sie, dass in Windows-Umgebung Netzwerkpfad als Laufwerk zugeordnet werden kann. In diesem Fall befindet sich "Z: \ temp" möglicherweise tatsächlich im Netzwerk. Und in ähnlicher Weise können wir lokale Ordner freigeben und darauf zugreifen: \\ < local m/c ip > \ share, obwohl es tatsächlich auf lokalem Laufwerk ist.Ermitteln, ob Pfad lokal oder Netzwerkpfad ist

+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 oben Bei Fragen geht es darum, Informationen über das gesamte Laufwerk zu erhalten, nicht darum, ob der angegebene Pfad auf dem lokalen Laufwerk oder im freigegebenen Netzwerk überprüft wird. – OwlR

Antwort

0

Sie könnten mit java laufen: "cmd fsutil fsinfo drivetype {Laufwerksbuchstabe}" Die Ausgabe wird Ihnen sagen, ob es ein Netzlaufwerk ist oder nicht.

Überprüfen Sie Run cmd commands through java, um zu sehen, wie CMD zum Ausführen von Befehlen verwendet wird.

+0

fsutil require "Treiberbuchstabe", hier habe ich nur den Verzeichnispfad, der keinen Laufwerksbuchstaben haben kann (zB \\ einige ip \ share) – OwlR

+0

Wenn Sie die IP-Adresse haben, können Sie überprüfen, ob die IP-Adresse die gleiche ist der lokale Gastgeber. Sie können ein zugeordnetes Laufwerk in Windows nicht direkt im Netzwerk freigeben. Wenn symbolische Verbindungen verwendet werden, um ein Netzlaufwerk einem lokalen Ordner zuzuordnen, der im Netzwerk freigegeben ist, bin ich nicht sicher, wie Sie mit diesem Szenario umgehen würden. –

Verwandte Themen