8
votes

Comment savoir si un répertoire est monté à distance à l'aide de Java

existe-t-il un moyen de déterminer de manière programmative si un répertoire particulier est monté à distance? Cela peut-il être fait avec Java et ne peut-il pas être fait avec un code C natif sur JNI?

Comme il s'agit de Java, il pourrait fonctionner sous Linux ou Windows ou Mac, une solution appropriée doit donc répondre à toutes ces plates-formes. (Encore une fois si ses multiples solutions distinctes avec C sur Jni thats ok). Et il peut y avoir des cas différents comme avec NFS ou Samba ou autre chose.

Merci.


0 commentaires

3 Réponses :


3
votes

Pour Linux, et éventuellement Macintosh, vous pouvez utiliser la bibliothèque système via JNI. L'appel du système correspondant est getmntent , décrit ici . < / p>

Il existe un champ dans mntent que vous pouvez utiliser pour vérifier si le point de montage provient du périphérique ou d'un serveur, mnt_fsname , dans un champ similaire, vous pouvez obtenir un système de fichiers. Tapez, `mnt_type"


0 commentaires

0
votes

Pour Linux, vous pouvez analyser / etc / mtab pour trouver le type de système de fichiers (NFS, SMB, etc.) et le faire correspondre aux types de systèmes de fichiers réseau connus dans votre programme.

EDIT: la colonne 2 est ce que vous voulez dans / etc / mtab


0 commentaires

0
votes

J'ai besoin de cela aussi et pourrait finir par la mettre en œuvre à l'aide de cette commande:

df -k

qui fonctionne sous Linux, Mac OS et Solaris.

Peut-être que c'est autre chose qui sera ajouté à JDK 7 car ils vont également soutenir les symboles.


0 commentaires