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? p>
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. P>
Merci. P>
3 Réponses :
Pour Linux, et éventuellement Macintosh, vous pouvez utiliser la bibliothèque système via JNI.
L'appel du système correspondant est Il existe un champ dans getmntent code>, décrit ici . < / p>
mntent code> que vous pouvez utiliser pour vérifier si le point de montage provient du périphérique ou d'un serveur, mnt_fsname code>, dans un champ similaire, vous pouvez obtenir un système de fichiers. Tapez, `mnt_type" p>
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. p>
EDIT: la colonne 2 est ce que vous voulez dans / etc / mtab p>
J'ai besoin de cela aussi et pourrait finir par la mettre en œuvre à l'aide de cette commande: p>
df -k p>
qui fonctionne sous Linux, Mac OS et Solaris. P>
Peut-être que c'est autre chose qui sera ajouté à JDK 7 car ils vont également soutenir les symboles. P>