Pular para o conteúdo

Alterando a saída do System.out.println()

Olá!

Quando criamos um programa em java e queremos mostrar alguma mensagem no console usamos inconscientemente o System.out.println(), mas e para gravar essas mesmas mensagens em um arquivo texto? Muito simples, basta dar um System.setOut() passando o PrintStream desejado. No exemplo abaixo alteramos a saída padrão, que era no console, para um arquivo texto.

[sourcecode lang=”java”]
String path = “D:\\saida.txt”;
FileOutputStream fileOutputStream = null;
try {
fileOutputStream = new FileOutputStream(path);
System.setOut(new PrintStream(fileOutputStream, true));
System.out.println(“Teste”);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
[/sourcecode]

Até mais
Roberto

4 comentários em “Alterando a saída do System.out.println()”

  1. Parabéns. Era justamente o que estava procurando.

    Como eu faço para redirecionar para um arquivo texto e ao mesmo tempo permanecer dando os print’s no terminal?

    Obrigado

    1. É só guardar uma referência para o System.out e ficar alternando entre ele e o PrintStream do arquivo.

      Exemplo:
      O zero e o 2 aparecem no console e o 1 vai pro arquivo.

      System.out.println(“0”);
      PrintStream out = System.out;

      try {
      System.setOut(new PrintStream(new File(“d:\\logs.txt”)));
      System.out.println(“1”);
      System.setOut(out);
      System.out.println(“2”);

      } catch (FileNotFoundException e) {
      e.printStackTrace();
      }

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *