wpjr2’s Weblog

Artigos e tutoriais úteis

Redirecionamento do System.out e System.in

Posted by wpjr2 em abril 28, 2008

É possivel que, para algumas aplicações, os fluxos de entrada, de saída e de erro padrões precisam ser redirecionadas, por exemplo para arquivo (saída), teclado (entrada), etc. Por default, o fluxo de entrada aponta para o teclado, euquanto os fluxos de saída e de erro apontam para a tela ou console.

O redirecionamento do System.out e System.in pode ser feito de duas maneiras:
a) redefinindo o fluxo de saída de dados de ambos canais (out e err)
b) redefinindo na linha de comando a saída em arquivo

a) Redefinindo o fluxo

// cria os novos fluxos de saida para arquivo
FileOutputStream fosErr = new FileOutputStream("errors.txt");
FileOutputStream fosOut = new FileOutputStream("log.txt");
// define a impressão sobre os fluxos acima
PrintStream psErr = new PrintStream(fosErr);
PrintStream psOut = new PrintStream(fosOut);
// redefine os fluxos na classe System
System.setErr(psErr);
System.setOut(psOut);

Agora é só utilizar o System.out.println() e o System.err.println()
para escrever os dados de saída para os arquivos definidos acima.

b) Definindo na linha de comando

No momento da execução de uma classe Java, pode-se definir o arquivo
de saída através do caractere “>”. No exemplo abaixo, o System.out
está sendo definido para o arquivo output.log e a saída de erro
(System.err) para o arquivo error.log.

java MyClass >output.log 2>error.log

Posso tb especificar que não estarei utilizando a saída de erros
definida na classe System. Desta forma, posso passar o valor “/null”
para o parâmetro “2>”, conforme abaixo:

Java MyClass 2> /null

Segue abaixo o slide adicional sobre o tópico:

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

 
%d blogueiros gostam disto: