Tem como salvar todas as saidas do console em txt, por exemplo tenho varios System.out.println(""); no meu codigo tem alguma maneira de salvar tudo que eu mandei imprimir em um arquivo txt de uma maneira geral, onde tudo que foi imprimido e salvo no arquivo txt.
Salvar saida do console em txt JAVA
F
4 Respostas
D
Olá
O que já foi impresso, acho que não, mas aquilo que será impresso dá:
PrintStream ps = new PrintStream(new File("arquivo.txt"));
System.out = ps;
J
1 like
Um exemplo. Lembrando que dessa forma não está completamente certa, profissional, pois para fazer melhor você teria que usar List para adicionar seus dados ao arquivo. Mas serve como quebra galho para você ter uma ideia de como fazer…
package seupacote;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Scanner;
public class Arquivo {
public static void criaArquivo () {
try { FileWriter arquivo = new FileWriter("arquivo.txt", true);
System.out.println("Arquivo criado \n");
}catch(IOException e) { System.out.print("Não foi possivel criar o arquivo");
} }
public static void listarArquivo() {
File arquivo = new File("arquivo.txt");
try( FileReader fr = new FileReader(arquivo) ){
int c = fr.read();
while( c != -1){
System.out.print( (char) c );
c = fr.read();
}
}catch(IOException ex){} }
public static void main(String[] args) throws IOException {
Scanner entrada = new Scanner(System.in);
int opcao;
do {
System.out.print("1 - Criar arquivo \n"); //Você so precisa escolher essa opcao uma vez. Pode usar somente ao abrir o programa pela primeira vez
System.out.print("2 - Listar dados \n");
System.out.print("3 - Inserir \n");
System.out.println("4 - Sair");
opcao = entrada.nextInt();
switch (opcao) {
case 1: Arquivo.criaArquivo(); break;
case 2: System.out.println("--------------------------------");
Arquivo.listarArquivo();
System.out.println("--------------------------------"); break;
case 3: try{
FileWriter arquivo = new FileWriter("arquivo.txt", true);
entrada = new Scanner(System.in); arquivo.write("\t");
System.out.print("Nome: "); arquivo.write(entrada.nextLine()); arquivo.write("\t");
System.out.print("Endereco: "); arquivo.write(entrada.nextLine()); arquivo.write("\t");
arquivo.write("\n");
arquivo.flush();
break;
}catch(IOException ex){
System.out.println("Erro ao gravar no arquivo "+ex.getMessage()); }
case 4: System.exit(0);
default: System.out.println("Opcao invalida!");
}
} while (opcao != 4);
}
}
D
Hoje você consegue fazendo setOut em vez de atribuição .
PrintStream ps = new PrintStream(new File("arquivo.txt"));
System.setOut(ps);
V
Além das explicações que os colegas deram via código…
Você pode salvar o resultado de qualquer processo em um txt através de um pipe, em linha de comando.
Basta dispara-lo com um pipe, usando o sinal da >
java -jar SeuPrograma > saida.txt
Algumas IDEs também dão essa opção dentro dos menus de “Run As”.
Criado 26 de maio de 2016
Ultima resposta 11 de jul. de 2023
Respostas 4
Participantes 5
Alura Git Flow: entenda o que é, como e quando utilizar Entenda o que é Git Flow, como funciona seu fluxo com branches como Master, Develop, Feature, Release e Hotfix, além de vantagens e desvantagens.
Casa do Codigo Ontologias e Web Semantica: Do conceito a aplicacao Por Ivam Galvao Filho — Casa do Codigo