Pessoal, bom dia…
eu tenho o código abaixo criado para leitura de um arquivo TXT…
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
jFileChooser1.showOpenDialog(null);
File f = jFileChooser1.getSelectedFile();
jTextField1.setText(f.getName());
lerArquivo(f);
public void lerArquivo(File caminho){
try{
Reader r = new FileReader(caminho);
int c;
while((c = r.read()) != - 1 ){ // -1 fim da leitura do arquivo.
System.out.print((char) c + " ");
}
r.close();
}
catch(Exception e){
System.out.println(" Erro ao ler o arquivo ");
}
}
Eu gostaria que o conteúdo da leitura, saisse na JTEXTAREA1 em vez de apenas sair em um SYSTEM.OUT.PRINTLN. Estou fazendo ele através de um aplicativo de Swing.
Alguém poderia me explicar o que pode ser feito ???
Muito Obrigado.
Crie um JtextArea e passe a String pra ele, assim:
JTextArea area = new JTextArea();
area.setText("Coloque seu texto aqui");
Leandro, muito obrigado por sua pronta resposta…
vou tentar aqui…
Coloque todo o conteudo do arquivo numa String.
Depois coloque esta String no JTextArea através do método setText.
francislon
Eu entendi o que você quis dizer, porém eu gostaria que fosse assim:
O sistema abre um arquivo TXT com informações e depois de lido o arquivo, ele apresenta o que encontrou no JTextArea…
será que é possível assim? ou é preciso utilizar outro componente ?
Obrigado.
Então brunosardao, os passos pra isso é da forma como vc ja fez com o console, buscando o arquivo, lendo seu conteúdo, guardando este conteúdo numa String e depois é só passar esta String para o método responsável da JTextArea.
Falou.
Valeu Leandro,
vou testar aqui sua dica…
obrigado.
Cara nao tem misterio, fiz um exemplo pra vc.
Na verdade vc estava quase la, quando vc fazer o loop no conteudo do arquivo pra imprimir no terminal, vc usa o metodo append para adicionar cada char do seu arquivo no JTextArea. Veja o exemplo :
import javax.swing.*;
import java.awt.*;
import java.io.*;
@SuppressWarnings("serial")
public class Main extends JFrame {
public Main(String filename) {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JTextArea txtarea = new JTextArea();
try {
BufferedReader br = new BufferedReader(
new FileReader(new File(filename)));
int c ;
while( (c = br.read()) != -1) {
txtarea.append(String.valueOf((char)c));
}
br.close();
} catch (Exception e) {
e.printStackTrace();
}
add(txtarea);
setSize(new Dimension(300,300));
setVisible(true);
}
public static void main(String[] args) {
new Main(args[0]);
}
}
Para rodar eh so fazer :
java Main arquivo.txt
PS : O setText como falaram acima, capaz que funcione, porem eu nao acho tao “elegante”. Porque se o seu arquivo for gigante, vc vai criar uma string que poderia dar a volta no mundo e depois jogar no JTextArea. 
So pra complementar nesse topico eh postei uma coisa interessante sobre como imprimir num JTextArea como se imprime pro terminal.
http://www.guj.com.br/posts/list/87921.java#470234
Na verdade eh uma classe chamada JTextAreaOutputStream que extende OutputStream. Ai vc pode “direcionar” a saida para esse JTextAreaOutputStream e imprimir normalmente tipo :
JTextArea text_area = new JTextArea();
out = new PrintStream ( new JTextAreaOutputStream( txt_area ));
out.println("teste");
Adicionamente, no meu blog tem um exemplo de como usar essa classe, em conjunto com a classe TeeOutputStream da API apache.commons.io que direciona o output pra dois lugares “ao mesmo tempo”, no caso do exemplo que eu fiz no blog, imprime para um arquivo e para o JTextArea.
Espero ter ajudado.
//Daniel
Poxa Daniel, muito obrigado mesmo…exemplo melhor que esse impossível…
ajudou muito mesmo, e obrigado a todos também pela ajuda…
Se eu puder abusar só mais um pouco da sua ajuda e de todos, é que sou iniciante em java, muitas coisas estou aprendendo na faculdade, e tenho que fazer uma gravação de informações em um arquivo TXT, porém foi pedido para usar o ObjectInputStream.
Porém, ele explicou que é necessário implementar a interface SERIALIZABLE e pegar o serialVersionUID da classe usando o aplicativo SERIALVER. Eu fiz isso mas o aplicativo só informa que não acha a classe, como posso fazer isso ?
e usando este esquema de serialização, eu preciso fazer com que a tela permita que o usuário serialize e, a partir do botão SALVAR, grave em um arquivo texto um objeto ContaBancaria. O nome do arquivo deve ser aquele digitado na caixa ?Nome da Conta?. e o botão CARREGAR permite ao usuário localizar um arquivo de conta e carregá-lo em tela. Para isto utilize um JFileChooser.
Eu já tentei de diversas maneiras fazer com a explicação do professor, porém nada feito, será que é possível você ou vocês me ajudarem nisso também?
Mais um vez muito obrigado.
Bruno.
