Como vizualizar arquivos com o JFileChooser?

8 respostas
FabricioPJ

Olá a todos. Por questão de curiosidade, estava mexendo com o JFileChooser, conseguindo visualizar a janela de escolha de arquivo e tudo mais, mas quando pedia para abrir um arquivo de texto (.doc, .txt) nada acontecia. Gostaria que alguém me ajudasse sobre como resolver esse problema.

PS - Como não estou em casa, posto o código pela parte da noite.

Grato pela atenção de todos.

8 Respostas

Ironlynx

Nada acontecia o quê???
Vc não conseguia selecionar o arquivo, não conseguia exibir dentro da sua aplicação?(Por exemplo um JTextArea dentro do seu JFrame)???
Posta o código e o quê vc quer que ele faça.(Não esqueça de usar as tags code)

FabricioPJ

Opa, desculpa pela falta de informações. Tenho um arquivo na area de trabalho com a extensão .doc, e quero que seu conteúdo seja visualizado em um TextArea em um Frame, como você disse, só que isso não acontece. A janela JFileChooser aparece corretamente, dai peço para abrir o arquivo desejado, mas quando clico em “Open”, o JFileChooser se fecha e nada mais acontece.

Mas para falar a verdade, eu não mandei este arquivo que desejo visualizar, abrir no meu TextArea, porque eu não sei bem como fazer isso.

Ainda não estou em casa, pois tive problemas no trabalho e não sei que horas retornarei, por isso não postei o código. Desculpem.

Mas obrigado pela atenção.

davidbuzatto

Amigo, você está fazendo confusão.

Não é pq vc clico no open que o file chooser vai saber q ele deve abrir o arquivo com o aplicativo padrão ou então carregar o conteúdo do mesmo em uma text area.

Para obter o arquivo selecionado, primeiramente vc precisa utilizar o método getSelectedFile, q vai retornar um File.
Agora com o arquivo, vc pode carregá-lo e fazer o que quiser com o mesmo. Só atente a uma coisa: um arquivo .doc não é texto puro, ele tem as “tags” de formatação do word e mais um monte de coisa. Se vc quiser exibir texto puro a partir de um arquivo vai ser mais fácil.

Até mais!

davidbuzatto

Para obter o arquivo seria mais ou menos assim:

JFileChooser fc = new JFileChooser();
File arquivo = null;

if ( fc.showOpenDialog() == JFileChooser.APPROVE_OPTION )
    arquivo = fc.getSelectedFile(); // para obter um array de arquivos vc pode usar o método getSelectedFiles()

// se o arquivo foi carregado corretamente
if ( arquivo != null ) {
    // faz o que quiser com o arquivo...
}

Até mais!

FabricioPJ

O código que estou tentando udar é este:

JFileChooser fc = new JFileChooser(); fc.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES); int result = fc.showOpenDialog(this); if(result == JFileChooser.CANCEL_OPTION) System.exit(1); File arquivo = fc.getSelectedFile(); campo.setText(fc.getSelectedFile());

Só que está dando um erro com a última linha, mas não sei porque. Esse “campo” é o TextArea no qual quero que o arquivo .doc ou .txt seja mostrado.

Este código que digitei acima é baseado no Deitel, livro que estou lendo. Só que lá não explica como mostrar o arquivo em um TextArea.

Grato pela atenção de todos.

Marky.Vasconcelos

fc.getSelectedFile();

te retorna um File, o erro que da provavelmente é porque não pode dar cast certo?
procura na API da classe File um metodo que te retorna o caminho do arquivo

H

se você tá querendo colocar o caminho do arquivo no TextArea, é só usar o método

arquivo.getPath();

mas se você quer o conteudo do arquivo no TextArea, vc pode procurar na API algum método pra fazer isso ou fazer na mão msm… é bem simples…

String aux;

BufferedReader br = new BufferedReader(new FileReader(arquivo));
campo.setText("");
while(aux = br.readLine() != null){
        campo.append(aux);
}
br.close();

acho que é só isso
[]s

FabricioPJ

Opa... demorei para responder pois estive ocupado com outros projetos, mas agora que sobrou um tempinho, voltei a minha sina do JFileChooser. O seguinte código me retornou algo, que foi o caminho do arquivo:

JFileChooser fc = new JFileChooser();
fc.setFileSelectionMode(JFileChooser.FILES_ONLY);
int resultado = fc.showOpenDialog(this);

if(resultado == JFileChooser.CANCEL_OPTION)
    System.exit(1);
File aux;
File fileName = fc.getSelectedFile();
aux = fileName;
JOptionPane.showMessageDialog(null, aux);

Tentei isso também, que me retorna a mesma coisa:

JFileChooser fc = new JFileChooser();
fc.setFileSelectionMode(JFileChooser.FILES_ONLY);
int resultado = fc.showOpenDialog(this);

if(resultado == fc.APPROVE_OPTION){
    String filename = fc.getSelectedFile().getAbsolutePath();
    campo.setText(filename);
}

Já testei o que os colegas me recomendaram, mas não deu jeito. Pelo menos já consigo retorno em algo.

Quem pudem me sugerir algo, ficarei muito grato.

Criado 30 de junho de 2007
Ultima resposta 4 de ago. de 2007
Respostas 8
Participantes 5