Кажется, не существует портативного способа сделать это в Java. Вам нужно будет написать отдельный код для каждой ОС.
Для linux вам нужно будет выполнить правильную системную команду в зависимости от типа файловой системы и затем проанализировать вывод.
Чтобы прочитать метку из cdrom:
$ volname /dev/cdrom
Ubuntu 10.10 i386
Чтобы прочитать метку из раздела ntfs (-f
необходимо для смонтированной файловой системы):
$ ntfslabel -f /dev/sda5 2>/dev/null
DATA
Чтобы прочитать метку FAT (vfat):
dosfslabel /dev/sdb
SD card
Примечание: Вам понадобятся разрешения на чтение для устройств, к которым вы обращаетесь.