[RESOLVIDO ] Imprimir tamanho de todas as partições da máquina

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.

Vocês poderiam me ajudar? T_T

http://www.codejava.net/java-se/file-io/listing-all-drives-with-type-total-space-and-free-space-in-java

1 curtida

Obrigado Rodrigo! Isso serviu perfeitamente! Estava bem desesperado por isso xD

Rodrigo, uma dúvida: Como fazer para NÃO APARECER a partição de CD/DVD e Disquetes?
Fiz o seguinte:

if(roots!= null && roots.length>0) {
			
			for(File file : roots) {
				FileSystemView checker = FileSystemView.getFileSystemView();
				String tipo = checker.getSystemTypeDescription(file);
					

Agora sei que entra um comando IF, mas como especificar?
PS: o output do tipo me retorna “null”. É normal?

Pior q n sei n. Tmq ver a propriedades de cada pra ver oq tem de diferente pra poder fazer um IF e diferenciar.

1 curtida

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());
}
1 curtida

Consegui usando o seguinte codigo:

checker.getSystemTypeDescription(file);
				if( checker!= "CD Drive") {

Mas o tipo “FileSystemView” é incompatível com String. Então a comparação não é feita. Tem algo que se possa fazer?