Существует ли способ определить программно, если конкретный каталог на самом деле удаленно смонтирован? Это может быть сделано с Java, и если не он может быть сделан с собственным кодом C по JNI?
Так как это - Java, который это могло выполнять в соответствии с Linux или Windows или Mac, таким образом, надлежащее решение должно обратиться ко всем этим платформам. (Снова, если его несколько разных решений с C по JNI это в порядке). И могут быть различные случаи как с NFS или самбой или чем-либо еще.
Спасибо.
Для Linux вы можете проанализировать / etc / mtab, чтобы найти тип файловой системы (NFS, SMB и т. Д.), и сопоставить его от известных типов сетевых файловых систем в вашей программе.
Редактировать: столбец 2 - это то, что вы хотите в / etc / mtab
Для Linux и, возможно, Macintosh, вы можете использовать системную библиотеку через JNI.
Соответствующий системный вызов getmntent
, , описанный здесь .
Существует поле в MnTent
. Вы можете использовать для проверки, чтобы проверить, если монтификация находится с устройства или сервера, MNT_FSNAME
, в аналогичном поле вы можете получить тип файловой системы, `mnt_type"
Мне это тоже нужно, и я могу в конечном итоге реализовать это с помощью этой команды:
df -k
Это работает в Linux, Mac OS и Solaris.
Возможно, это что-то еще, что будет добавлено в JDK 7, поскольку они также будут поддерживать символические ссылки.