Boa tarde a todos!
Estou num grande problema. Fiz um código para exibir: tamanho, uso e porcentagem de uso de um HD. Porém, preciso na verdade exibir as partições e separar elas, e eu realmente não faço ideia de como fazer isso. Pode-se usar também o SIGAR API.
Para verificar se a unidade é de disquete, basta utilizar o método isFloppy da class FileSystemView e para descobrir se é CD ou DVD, vai ter que analisar o getSystemTypeDescription.
FileSystemView fsv = FileSystemView.getFileSystemView();
File[] f = File.listRoots();
for (int i = 0; i < f.length; i++) {
System.out.println("Drive: " + f[i]);
System.out.println(" Display name: " + fsv.getSystemDisplayName(f[i]));
System.out.println(" Type: " + fsv.getSystemTypeDescription(f[i]));
System.out.println(" Is drive: " + fsv.isDrive(f[i]));
System.out.println(" Is floppy: " + fsv.isFloppyDrive(f[i]));
System.out.println(" Readable: " + f[i].canRead());
System.out.println(" Writable: " + f[i].canWrite());
System.out.println(" Total space: " + f[i].getTotalSpace());
System.out.println(" Usable space: " + f[i].getUsableSpace());
}