2010-01-27 14 views
7

Czy istnieje sposób, aby ustalić programowo, czy konkretny katalog jest rzeczywiście zdalnie montowany? Czy można to zrobić w Javie, a jeśli nie, to można to zrobić za pomocą natywnego kodu C przez JNI?Jak ustalić, czy katalog jest zdalnie montowany za pomocą Java?

Ponieważ jest to Java, może działać pod kontrolą systemu Linux lub Windows lub Mac, więc właściwe rozwiązanie musi uwzględniać wszystkie te platformy. (Ponownie, jeśli jego wiele oddzielnych rozwiązań z C nad JNI jest ok). I mogą istnieć różne przypadki, takie jak NFS, samba lub cokolwiek innego.

Dzięki.

Odpowiedz

2

dla systemu Linux i prawdopodobnie na komputerach Macintosh można używać biblioteki systemowej za pośrednictwem interfejsu JNI. Odpowiednie wywołanie systemowe to getmntent, described here.

Jest to dziedzina, w mntent można użyć, aby sprawdzić, czy punkt podłączenia jest z urządzenia lub serwera, mnt_fsname, w podobnym zakresie można uzyskać typ systemu plików, `mnt_type”

0

dla systemów Linux, ty można analizować/etc/mtab, aby odnaleźć typ systemu plików (NFS, sMB, itd.) i dopasować je przed znanymi typami systemów plików sieciowych w programie

EDIT:. kolumna 2 jest to, co chcesz w/etc/mtab

0

Potrzebuję tego również i może się to skończyć za pomocą następującego polecenia:

df -k

Działa to pod kontrolą systemu Linux, Mac OS i Solaris.

Może to coś innego, co zostanie dodane do JDK 7, ponieważ będą również obsługiwać dowiązania symboliczne.

Powiązane problemy