2010-01-27 6 views
7

C'è un modo per determinare in modo programmatico se una determinata directory è effettivamente installata in remoto? Questo può essere fatto con Java, e se non può essere fatto con codice C nativo su JNI?Come stabilire se una directory viene installata in remoto utilizzando Java

Poiché questo è Java, potrebbe essere in esecuzione su Linux o Windows o Mac, quindi una soluzione adeguata deve affrontare tutte queste piattaforme. (Anche in questo caso se le sue molteplici soluzioni separate con C su JNI è ok). E potrebbero esserci casi diversi come con NFS o samba o qualsiasi altra cosa.

Grazie.

risposta

2

per Linux e possibilmente Macintosh, è possibile utilizzare la libreria di sistema tramite JNI. La chiamata di sistema rilevante è getmntent, described here.

C'è un campo in mntent è possibile utilizzare per controllare per vedere se punto di montaggio è da dispositivo o un server, mnt_fsname, in un campo simile si può ottenere tipo di filesystem, `mnt_type"

0

Per Linux, è in grado di analizzare/etc/mtab per trovare il tipo di filesystem (NFS, SMB, ecc) e abbinarlo contro i tipi di filesystem di rete conosciuta nel programma

EDIT:. colonna 2 è quello che volete in/etc/mtab

0

Anche io ho bisogno di questo e potrebbe finire per implementarlo usando questo comando:

df -k

Che funziona sotto Linux, Mac OS e Solaris.

Forse questo è qualcosa che verrà aggiunto a JDK 7 poiché supporteranno anche i collegamenti simbolici.

Problemi correlati