Olá!
Alguém poderia socorrer este iniciante na linguagem:
Por que o código abaixo não escreve no arquivo de saida todas as linhas do primeiro arquivo (que no caso escrevi apenas duas linhas para texte)?
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
class LerEscreverArquivoTeste2{
public static void main (String[]args) throws IOException{
BufferedReader leia = new BufferedReader (new FileReader ("arquivo_leitura.txt"));
String armazena = null, s = null;
try{
while ((s = leia.readLine())!=null){
armazena = s;
System.out.println(s);
}
System.out.println("leitura com sucesso");
leia.close();
}
catch (Exception e){
System.out.println("Exceção 01");
}
try{
BufferedWriter escreve = new BufferedWriter (new FileWriter ("arquivo_escrita.txt"));
escreve.write(armazena);
escreve.newLine();
escreve.close();
}
catch (Exception e){
System.out.println("Exceção 02");
}
}
}
Seja bem vindo ao guj.
Quando postar código fonte, sql, xml… Use as tags code, para a visualização ficar melhor.
Veja como fazer: Aprenda a postar Código Fonte no GUJ
Edite seu poste e faça o procedimento.
Aqui tem um tutorial sobre arquivos: Manipulando Arquivo Txt com Java
Obrigado pela dica de formatação no envio da dúlvida.
Mas o tutorial não trata um detalhe que é o que está me dificultado:
O de fazer com que o que está em uma dada variável que foi alimentada pelo que foi lida em um arquivo, seja levado ao arquivo de saida.
No exemplo do tutorial a escrita é feita na mão.
Poderia me ajudar nisso???
Obrigado por editar seu post.
Você precisa ir concatenando na variável cada nova linha lida.
Tenta assim:
try{
while ((s = leia.readLine())!=null){
armazena = armazena + "\n" + s ;
System.out.println(s);
}
System.out.println("leitura com sucesso");
leia.close();
}
Obrigado! Assim dá certo!
Mas se não for abuso só mais uma dúvida: eu consigo ler todo o arquivo depois escrev-lo todo?
Porque se eu quiser tratá-lo (mudar a ordem por exemplo), o ideal seria desta forma. Estou correto?
[quote=MagnoNunes]Obrigado! Assim dá certo!
Mas se não for abuso só mais uma dúvida: eu consigo ler todo o arquivo depois escrev-lo todo?
Porque se eu quiser tratá-lo (mudar a ordem por exemplo), o ideal seria desta forma. Estou correto?[/quote]
Na verdade o ideal é você ler a linha salvar os dados em variáveis, tratá-los e escrever no outro arquivo.
você deve ter um método para leitura, um para escrita e outro para limpar as variáveis.
while (não for o fim do arquivo){
limpar();
ler();
escrever();
}
Valeu Romarcio!
Obrigado pela dica!
Outra dúvida de inicante: como eu concluo o tópico???
Clique no botão editar do seu 1° post, o que você descreveu a dúvida, e no campo Titulo, ao lado da descrição do titulo, escreva: [RESOLVIDO]
Leia o item 4 das regras do fórum: