Salvar saída do programa em um arquivo .txt

5 respostas
J

Opa
seguinte, preciso salvar a saída do meu programa em um arquivo txt. Eu achei um script mais ou menos pronto e fiz um teste, só que da erro na linha:

p.write(cod + " " + nome + ‘\n’);The method write(String) from the type PrintStream is not visible.

Esse aqui é o programa:

import java.io.*;

public class Main {

public static void main (String[] args) throws Exception{
	Main teste = new Main();
	teste.GravarReg(10,"Joao");
}



public void GravarReg(int cod, String nome) throws IOException{
	FileOutputStream out;
	
	PrintStream p;
	try{
		out = new FileOutputStream("arq.txt", true);
		p =	 new PrintStream(out);
		p.write(cod + " " + nome + '\n');
		p.close();
	} 	catch(Exception e) {
		System.err.println(e);
	}
	}
}

como posso resolver isso? ou alguem pode me mandar outro código pra salvar a saída do programa em um txt? valeu

5 Respostas

I

A melhor repositório de exemplos é o site da Sun

J

legal esse exemplo, mas acho que nao resolve meu outro problema. Achei outro código e ele tá funcionando:

import java.io.*;

public class Main{
File file = new File(“PrintConsole.txt”);

public static void main (String[] args) throws Exception{
	
	Main teste = new Main();
	teste.salva("ola");
	teste.salva("ola2");
}

public void salva(String teste) throws FileNotFoundException{
	
	PrintStream printStream = new PrintStream(file);
	System.setOut(printStream);
	System.out.println(teste);	
	System.out.flush();
}

}

So que ele salva só o ola2.txt na saída, e eu precisava que salvasse o ola1 também, como posso fazer isso?

L

Não analisei todo teu codigo mas de inicio já vi que vc deve substituir uma linha a seguinte linha

p.write(cod + " " + nome + ‘\n’);

substitua por:

String string = cod + " " + nome + “\n”;

for(int i = 0;i < string.length(); i++){

p.write((int)string.charAt(i)); //gravando o texto no arquivo

}
I

O problema é que estais sobrescrevendo o conteúdo no arquivo. Ele não faz o “append”. T+

J

“lucianobsi”:
Não analisei todo teu codigo mas de inicio já vi que vc deve substituir uma linha a seguinte linha

p.write(cod + " " + nome + ‘\n’);

substitua por:

String string = cod + " " + nome + “\n”;

for(int i = 0;i < string.length(); i++){

p.write((int)string.charAt(i)); //gravando o texto no arquivo

}</blockquote>

ae veio deu certo, valeuzao!

Criado 29 de novembro de 2006
Ultima resposta 29 de nov. de 2006
Respostas 5
Participantes 3