Como descobrir o tamanho do cd?

3 respostas
H

Tô fazendo um prog q precisa ler o conteúdo do cd e queria mostrar o andamento dessa leitura através de uma JProgressBar, mas preciso definir o valor máximo, q seria o tamanho do cd, mas não funciona usando o método length () da classe File.

Alguém aí já fez isso ou sabe como fazer?

3 Respostas

wbsouza

Se vc vai fazer o CD, certamente vc já sabe o tamanho total dos arquivos.

Mas se quiser fazer as coisas dinamicamente, terá que percorrer a hierarquia de diretorios, pegar arquivo por aquivo usando File, e pegar o tamanho de cada um e colocar em um totalizador (aqui entra recursividade para navegar nos diretórios mais facilmente).

[]s, Welington B. Souza

wbsouza

Vai aí um trechinho de codigo :wink:

public static int getFolderSize(String path) { File folder = new File(path); int size = 0; if (folder.isDirectory()) { String[] dirList = folder.list(); if (dirList != null) { for (int i = 0; i < dirList.length; i++) { String fileName = dirList[i]; File f = new File(path, fileName); if (f.isDirectory()) { String filePath = f.getPath(); size += getFolderSize(filePath); continue; } size += f.length(); } } } return size; }

Boa diversão

[]s, Welington B. Souza

cv1

O problema eh que se vc vai fazer isso, especialmente com um drive de CD, que tem um seek time bem altinho, vc vai perder alguns minutos, dependendo da quantidade de arquivos…

Deve ter algum jeito melhor, vou dar uma pesquisada e volto aqui :slight_smile:

Criado 28 de janeiro de 2005
Ultima resposta 28 de jan. de 2005
Respostas 3
Participantes 3