В системе 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 указывают на подключенный диск, и это просто обычные папки.Поэтому мне нужно определить, являются ли эти файлы обычными папками в том же /
(корневом) разделе или нет, если нет, то получить их размер, свободное пространство, ...