Herculano 0 Denunciar post Postado Abril 29, 2009 Galera to precisando adicionar um quantidade de strings no final do arquivo. Ex: --Arquivo antes-- Teste 12 -------------------- --Arquivo dps de adicionar string-- Teste 12 Teste 13 ---------------------------------------- Segue abaixo o algoritmo q eu fiz ele amazena no final do arquivo porém na mesma linha ai fica assim : Teste12 Teste13 Se alguém tiver alguma idéa para modificar esse algo eu agradeço. import java.io.BufferedReader; import java.io.File; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; public class UtilsArquivo { public static void salvar(String arquivo, String conteudo, boolean adicionar) throws IOException { FileWriter fw = new FileWriter(arquivo, adicionar); fw.write(conteudo); fw.close(); } public static String carregar(String arquivo) throws FileNotFoundException, IOException { File file = new File(arquivo); if (! file.exists()) { return null; } BufferedReader br = new BufferedReader(new FileReader(arquivo)); StringBuffer bufSaida = new StringBuffer(); String linha; while( (linha = br.readLine()) != null ){ bufSaida.append(linha + "\n"); } br.close(); return bufSaida.toString(); } public static void main(String[] args) { try { String texto = "Teste 12 \n"; UtilsArquivo.salvar("arquivo.txt", texto, false); String texto2 = "Teste 13"; UtilsArquivo.salvar("arquivo.txt", texto2, true); texto = UtilsArquivo.carregar("arquivo.txt"); texto2 = UtilsArquivo.carregar("arquivo.txt"); System.out.println(texto); } catch (Exception e) { e.printStackTrace(); } } } Valew galera. Compartilhar este post Link para o post Compartilhar em outros sites
Kandrade 7 Denunciar post Postado Abril 30, 2009 Refiz usando PrintWriter que possui métodos de formatação. Para a leitura retirei o método readline pois ele não adiciona \n na String. No lugar usei o read. Qualquer dúvida é só perguntar. import java.io.*; /** * * @author kandrade */ public class UtilsArquivo { public static void salvar(String arquivo, String conteudo, boolean adicionar) throws IOException { FileWriter fw = new FileWriter(arquivo, adicionar); PrintWriter pw = new PrintWriter(fw); pw.println(conteudo); pw.flush(); pw.close(); } public static String carregar(String arquivo) throws FileNotFoundException, IOException { File file = new File(arquivo); if (! file.exists()) { return null; } BufferedReader br = new BufferedReader(new FileReader(arquivo)); StringBuffer bufSaida = new StringBuffer(); int c; while( (c = br.read()) > 1 ){ bufSaida.append((char)c); } br.close(); return bufSaida.toString(); } public static void main(String[] args) { try { String texto = "Teste 12"; UtilsArquivo.salvar("arquivo.txt", texto, false); String texto2 = "Teste 13"; UtilsArquivo.salvar("arquivo.txt", texto2, true); texto = UtilsArquivo.carregar("arquivo.txt"); texto2 = UtilsArquivo.carregar("arquivo.txt"); System.out.println(texto); } catch (Exception e) { e.printStackTrace(); } } } Compartilhar este post Link para o post Compartilhar em outros sites
Herculano 0 Denunciar post Postado Abril 30, 2009 beleza Kandrade funiciono de boa aki, agora eu queria saber como eu faço para colocar mais de uma string em uma linha tipo assim. Teste12 algo mais Teste13 algo mais3 Teste14 algo mais4 Valew ajuda bastante !!! Compartilhar este post Link para o post Compartilhar em outros sites
Kandrade 7 Denunciar post Postado Abril 30, 2009 Do jeito que ficou voce precisa controlar isso na escrita e não na leitura. A leitura vai ser precisamente da maneira que está escrito no arquivo. Vou te passar uma idéia de como pode ficar: No método de escrita voce pode adicionar um parametro que dirá se o conteudo deve ser escrito em uma nova linha ou não. Eu faria uma sobrecarga. Se esse parametro booleano for passado voce pode decidir entre usar o método println ou o print que não adicionar o caracter de alimentação de linha. Se tiver dificuldades para implementar é só falar. Compartilhar este post Link para o post Compartilhar em outros sites
George William 0 Denunciar post Postado Junho 17, 2009 Cara eu fiz não sei s pode te ajudar mas eu fiz da seguinte forma: Coloquei esta linha no meu código String br= System.getProperty("line.separator"); ele funciona como quebra de linha então quando coloco o texto a ser salvo fica da seguinte forma: br+"texto " toda vez que o java escrever um texto, ele vai pular uma linha primeiro e depois escreve o texto qualquer dúvida manda um e-mail gwoura@gmail.com Compartilhar este post Link para o post Compartilhar em outros sites