Quero selecionar um diretório (…\pasta) e não um caminho de um arquivo (…\pasta\arquivo) em um JFileChooser… é possivel?
Apos escolher o diretório, queria que o mesmo mostrasse em um JTable os arquivos contidos neste diretório… mostrando os dados de cada arquivo, mostrar somente JPG, JPEG, BMP, GIF: nome, tamanho, extenção e dimenção…
Use o setFileSelectionMode da classe JFileChooser para fazer com que sejam listados apenas os diretórios.
Depois use o método list() da classe File para pegar todos os arquivos do diretório.
davidtiagoconceicao
Obs.: aqui no fórum há diversos tópicos sobre isso.
Um dos que encontrei:
Agora dentro do try eu deveria usar o método list()... como utilizalo?? não consegui encontrar nd referente!
um abraço!
davidtiagoconceicao
Como você pode ver na documentação, o list() retorna um array de strings com o caminho dos arquivos no determinado diretório. Assim, você pode exibir este caminho, ou se quizer mais informações criar files com estes caminhos, mas ou menos como eu fiz abaixo:
importjava.io.File;publicclassTest{/** * Simples demonstração do uso do método list() * */publicstaticvoidmain(String[]args){Filearquivo=newFile("c:\\");String[]caminhos=null;if(arquivo.isDirectory()){caminhos=arquivo.list();}else{return;}if(caminhos==null||caminhos.length==0){// se não houver arquivo encerrareturn;}File[]arquivos=newFile[caminhos.length];for(inti=0;i<arquivos.length;i++){arquivos[i]=newFile(caminhos[i]);}for(Filefile:arquivos){System.out.println(file);}}}
Assim, o que você precisa fazer é que seu model tenha um array de File ou de String e que este array seja atualizado sempre que um novo diretório for selecionado.
DorPho
Deu certinho Tiago…
Consegui…
Já já posto a resolução… sai procurando pela net e encontrei algumas coisas q me ajudaram sob o list()!
Valeu a ajuda parcerô… outra coisa
Qual a diferença de criar um array de Strings dum de File? para esse tipo de problema?
Abraço!
davidtiagoconceicao
Depende do seu objetivo. Se você quizer apenas exibir o caminho ou nome do arquivo, um array de String atenderia, acredito eu.
Agora se você quizer utilizar os métodos da classe File para exibir informações mais detalhadas, um array de File seria mais adequado.
DorPho
Poxa…
Economizou uma pergunta, pois eu iria perguntar exatamente isto…
“Como faço para pegar as informações de casa arquivo do array?”
JFileChooserCaminho=newJFileChooser();Caminho.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);//se clicar em Abrir...if(Caminho.showOpenDialog(this)==JFileChooser.APPROVE_OPTION){jLabel5.setText(Caminho.getSelectedFile().getPath());ArrayListlista=consultaArquivo(Caminho.getSelectedFile().getPath());String[]colunas=newString[]{"Nome","Tamanho","Dimensão","Extensão"};ArquivosModelmodel=newArquivosModel(lista,colunas);jTable1.setModel(model);}