Galera, me tira uma duvida?
Eu preciso escrever em um arquivo já existente, mas assim o arquivo contem diversas strings (1 em cada linha) eu preciso adicionar no final de cada linha um espaço e um número.
Para fazer isso eu preciso chamar o FileReader, pegar a linha e chamar o FileWriter para gravar a linha + o que eu quero adicionar? tem alguma forma mais simples?
Resumindo:
Tenho um arquivo assim:
AB
BA
CD
AE
DB
Quero deixa-lo assim: (o número é uma variavel int)
AB - 0
BA - 0
CD - 1
AE - 1
DB - 2
Obrigado
public static void main(String[] args) throws Exception{
String fileName = "Teste.txt";
BufferedReader br = new BufferedReader(new FileReader(fileName));
StringBuilder sb = new StringBuilder();
String text;
while((text = br.readLine()) != null){
sb.append(text + " - 01 \n");
}
br.close();
new FileOutputStream(fileName).write(sb.toString().getBytes());
}
Use o BufferedReader para ler. Só veja antes o tamanho do arquivo, porque está jogando o conteúdo da linha em uma String, e dai sabe como é né, String é imutável.
Mas você queria mais fácil que isso?
Você não pode ler o conteúdo do arquivo, aí indo linha a linha adicionando esses valores e armazenando em uma String com o conteúdo, ao término gravar esse conteúdo no arquivo?
Da pra usar o BufferedReader, ler o arquivo e ir percorrendo linha a linha.
Ta quase do jeito certo…
Gravou certinho no arquivo tal, só que o \n não funcionou… o arquivo foi gravado tudo na mesma linha…
se tiver alguma ideia de como resolve isso… se não dou um jeito aqui.
Valew! mto obrigado.
Já tive esse problema com o \n. tenta “\r\n”. Dependendo do SO ou do editor de texto ele não funciona mesmo.