Caros amigos, estou iniciando em JAVA e estou com uma dúvida. Tenho um código que lê um arquivo, armazena a linha em uma variável, incrementa esta variável e na hora de gravar no arquivo apresenta erro. Tipo…eu inicio o arquivo com o número 100, rodo e ele grava a letra “e” no arquivo ao invé de 101. Segue abaixo o código:
importjava.io.BufferedReader;importjava.io.File;importjava.io.FileNotFoundException;importjava.io.FileReader;importjava.io.FileWriter;importjava.io.IOException;publicclassUtilsArquivo{/** * Salva o conteúdo de uma variável em um arquivo * * @param arquivo * @param conteudo * @param adicionar * se true adicionar no final do arquivo * @throws IOException */publicstaticvoidsalvar(Stringarquivo,Stringconteudo,booleanadicionar)throwsIOException{FileWriterfw=newFileWriter(arquivo,adicionar);fw.write(conteudo);fw.close();}/** * Carrega o conteúdo de um arquivo em uma String, se o aquivo não existir, * retornará null. * * @param arquivo * @return conteúdo * @throws Exception */publicstaticStringcarregar(Stringarquivo)throwsFileNotFoundException,IOException{Filefile=newFile(arquivo);if(!file.exists()){returnnull;}BufferedReaderbr=newBufferedReader(newFileReader(arquivo));StringBufferbufSaida=newStringBuffer();Stringlinha;while((linha=br.readLine())!=null){bufSaida.append(linha+"\n");}br.close();returnbufSaida.toString();}/** * Exemplo de Utilização */publicstaticvoidmain(String[]args){try{Stringtexto="Gregui Shigunov \n [email removido]";UtilsArquivo.salvar("arquivo.txt",texto,false);texto=UtilsArquivo.carregar("arquivo.txt");System.out.println(texto);}catch(Exceptione){e.printStackTrace();}}}
Obrigado gente, apenas inseri uma linha, seguindo o link Schuenemann, que pelo que entendi, o BufferedWriter não grava int, e funcionou perfeitamente. Agradeço a atenção de todos.