Preenchi o arquivo.txt sendo que nao consigo sobrescrever(java)

3 respostas
S

PREENCHI O ARQUIVO.TXT SENDO QUE NAO CONSIGO SOBRESCREVER O ARQUIVO AO EXECUTA-LO PELA SEGUNDA VEZ.ELE ACUMULA E APARECE NO TXT :

************** CONTEÚDO DO TXT NA 1 EXECUCAO************************

comentario1

parametro1

argumento1

comentario2

parametro2

argumento2

************** CONTEÚDO DO TXT A PARTIR DA SEGUNDA EXECUCAO************************

comentario1

parametro1

argumento1

comentario2

parametro2

argumento2

comentario1

parametro1

argumento1

comentario2

parametro2

argumento2


GOSTARIA DE QUE A PARTIR DA SEGUNDA EXECUÇÃO FOSSE SOBRESCRITO E FICASSE SEMPRE:

comentario1

parametro1

argumento1

comentario2

parametro2

argumento2


package escrevendoTxt;

import java.io.BufferedReader; 
import java.io.BufferedWriter;  
import java.io.File;  
import java.io.FileReader;
import java.io.FileWriter;  
import java.io.IOException;  
import java.util.ArrayList;
public class arquivoTxt {
	ArrayList<String>lista = new ArrayList<String>();
	public static	String str1 = "comentario1\r\n"; // \r\n pular linha no arquivo txt
	public static	String str2 = "parametro1\r\n";
	public static	String str3 = "argumento1\r\n";
	public static	String str4 = "comentario2\r\n";
	public static	String str5 = "parametro2\r\n";
	public static	String str6 = "argumento2\r\n";
	public static	String conteudo;
	public static	String nome;
	public static	String caminho;
	public static	String linha;
	public static void main(String[] args) {  

		caminho ="K:\\estagio\\Samuel\\gravandoarquivo.txt";

		File f = new File(caminho);  

		try {  
			arquivoTxt obj = new arquivoTxt();
			obj.lista.add(str1);
			obj.lista.add(str2);
			obj.lista.add(str3);
			obj.lista.add(str4);
			obj.lista.add(str5);
			obj.lista.add(str6);

			FileWriter writer = new FileWriter(f,true);  
			BufferedWriter bw = new BufferedWriter(writer);  

			if(f.length() == 0){ //verifica se o tamanho do arquivo "f" é igual a zero(vazio)

				for(int i = 0; i < obj.lista.size(); i++){  


					nome = obj.lista.get(i); // chama o atributo do objeto na posição i  
					conteudo = nome;  
					conteudo += "\r\n"; 
					bw.write(conteudo);  


				}
				BufferedReader leitor = new BufferedReader(new FileReader(caminho));
				linha = leitor.readLine();
				leitor.close();
				bw.newLine();//Nova Linha  
				bw.flush();  
				bw.close(); 
				System.out.println("ARQUIVO TEXTO GERADO");

			}


			else{
				if(f.length()!=0 ){
					
					f.delete();
					System.out.println(f.delete());//retorna se o arquivo foi deletado (true ,false)
					for(int i = 0; i < obj.lista.size(); i++){  


						nome = obj.lista.get(i); // chama o atributo do objeto na posição i  
						conteudo = nome;  
						conteudo += "\r\n"; 
						bw.write(conteudo);  
					}
					BufferedReader leitor = new BufferedReader(new FileReader(caminho));
					linha = leitor.readLine();
					leitor.close();
					bw.newLine();//Nova Linha  
					bw.flush();  
					bw.close(); 
					System.out.println("ARQUIVO TEXTO APAGADO E GERADO NOVAMENTE");
				}
			}
		} catch (IOException e) {  
			e.printStackTrace();  
		}  

	}  
}

3 Respostas

fernandopaiva
Sa1617-03:
PREENCHI O ARQUIVO.TXT SENDO QUE NAO CONSIGO SOBRESCREVER O ARQUIVO AO EXECUTA-LO PELA SEGUNDA VEZ.ELE ACUMULA E APARECE NO TXT :

************** CONTEÚDO DO TXT NA 1 EXECUCAO************************

comentario1

parametro1

argumento1

comentario2

parametro2

argumento2

************** CONTEÚDO DO TXT A PARTIR DA SEGUNDA EXECUCAO************************

comentario1

parametro1

argumento1

comentario2

parametro2

argumento2

comentario1

parametro1

argumento1

comentario2

parametro2

argumento2

*********************************************************************************

GOSTARIA DE QUE A PARTIR DA SEGUNDA EXECUÇÃO FOSSE SOBRESCRITO E FICASSE SEMPRE:

comentario1

parametro1

argumento1

comentario2

parametro2

argumento2
---------------------------------------------------------------
---------------------------------------------------------------

package escrevendoTxt;

import java.io.BufferedReader; 
import java.io.BufferedWriter;  
import java.io.File;  
import java.io.FileReader;
import java.io.FileWriter;  
import java.io.IOException;  
import java.util.ArrayList;
public class arquivoTxt {
	ArrayList<String>lista = new ArrayList<String>();
	public static	String str1 = "comentario1\r\n"; // \r\n pular linha no arquivo txt
	public static	String str2 = "parametro1\r\n";
	public static	String str3 = "argumento1\r\n";
	public static	String str4 = "comentario2\r\n";
	public static	String str5 = "parametro2\r\n";
	public static	String str6 = "argumento2\r\n";
	public static	String conteudo;
	public static	String nome;
	public static	String caminho;
	public static	String linha;
	public static void main(String[] args) {  

		caminho ="K:\\estagio\\Samuel\\gravandoarquivo.txt";

		File f = new File(caminho);  

		try {  
			arquivoTxt obj = new arquivoTxt();
			obj.lista.add(str1);
			obj.lista.add(str2);
			obj.lista.add(str3);
			obj.lista.add(str4);
			obj.lista.add(str5);
			obj.lista.add(str6);

			FileWriter writer = new FileWriter(f,true);  
			BufferedWriter bw = new BufferedWriter(writer);  

			if(f.length() == 0){ //verifica se o tamanho do arquivo "f" é igual a zero(vazio)

				for(int i = 0; i < obj.lista.size(); i++){  


					nome = obj.lista.get(i); // chama o atributo do objeto na posição i  
					conteudo = nome;  
					conteudo += "\r\n"; 
					bw.write(conteudo);  


				}
				BufferedReader leitor = new BufferedReader(new FileReader(caminho));
				linha = leitor.readLine();
				leitor.close();
				bw.newLine();//Nova Linha  
				bw.flush();  
				bw.close(); 
				System.out.println("ARQUIVO TEXTO GERADO");

			}


			else{
				if(f.length()!=0 ){
					
					f.delete();
					System.out.println(f.delete());//retorna se o arquivo foi deletado (true ,false)
					for(int i = 0; i < obj.lista.size(); i++){  


						nome = obj.lista.get(i); // chama o atributo do objeto na posição i  
						conteudo = nome;  
						conteudo += "\r\n"; 
						bw.write(conteudo);  
					}
					BufferedReader leitor = new BufferedReader(new FileReader(caminho));
					linha = leitor.readLine();
					leitor.close();
					bw.newLine();//Nova Linha  
					bw.flush();  
					bw.close(); 
					System.out.println("ARQUIVO TEXTO APAGADO E GERADO NOVAMENTE");
				}
			}
		} catch (IOException e) {  
			e.printStackTrace();  
		}  

	}  
}

Basta retirar o true do FileWriter

t+

S

–’ PUTZ,VALEU CARA…nao tinha me tocado de jeito nenhum OBGADO!

fernandopaiva

Evite postar em LETRAS MAIUSCULAS, tanto o titulo como o corpo do post. Isso e como se estivesse gritando.

leia sobre I/O Java.

t+ e boa sorte.

Criado 20 de janeiro de 2012
Ultima resposta 20 de jan. de 2012
Respostas 3
Participantes 2