Получить точку монтирования папки с помощью Java - PullRequest
3 голосов
/ 22 июня 2019

В системе Ubuntu я ищу в каталоге /media и предполагаю, что каждая папка является смонтированной файловой системой, чтобы получить ее размер и информацию:

String username = System.getProperty("user.name");
File media = new File("/media/" + username);
System.out.println("Partition: " + media.getAbsolutePath());

File[] fileList = media.listFiles();

if (fileList != null)
    for (File f : fileList) {
        if (f.isDirectory())
            printDiskData(f);
        }


void printDiskData(File partitionMountPoint) {
        System.out.println(partitionMountPoint.getAbsolutePath());
        System.out.println(String.format("Total disk size: %.2f GB", partitionMountPoint.getTotalSpace() / 1073741824f));
        System.out.println(String.format("Free disk size: %.2f GB", partitionMountPoint.getFreeSpace() / 1073741824f));
        System.out.println(String.format("Usabale disk size: %.2f GB", partitionMountPoint.getUsableSpace() / 1073741824f));
    }

Возможно, некоторые из этих папок неt указывают на подключенный диск, и это просто обычные папки.Поэтому мне нужно определить, являются ли эти файлы обычными папками в том же / (корневом) разделе или нет, если нет, то получить их размер, свободное пространство, ...

...