デフォルトでは、System.out.println 関数などは、コンソールに出力されます。 ここでは、この出力先をコンソールからファイルに変更するサンプルコードを掲載しています。また、標準出力と同じく、標準エラー出力の出力先もデフォルトでコンソールとなっています。C 言語などと同じ仕様です。詳細はコメントを参照ください。
スポンサーリンク
標準出力の出力先をコンソールからファイルに変更する
import java.io.*; public class Sample { public static void main(String[] args) { try { System.out.println("1.この文章は標準出力(コンソール)に出力される"); /* * 現在の標準出力先を保持する */ PrintStream sysOut = System.out; /* * 標準出力の出力先をファイルに切り変える */ FileOutputStream fos = new FileOutputStream("out.txt"); PrintStream ps = new PrintStream(fos); System.setOut(ps); // 実際に切り替えているのはここ // 出力する System.out.println("2.この文章はout.txtに出力される"); // ファイルをクローズ ps.close(); fos.close(); /* * 標準出力をデフォルトに戻す */ System.setOut(sysOut); // 出力する System.out.println("3.この文章は標準出力(コンソール)に出力される"); } catch(IOException e) { System.err.println(e.getMessage()); } } }
コンソールへの出力結果
次の通り、標準出力をコンソールからファイルへ出力先を変更したときにはコンソールへ出力されないことが確認できます。
> javac Sample.java > > java Sample 1.この文章は標準出力(コンソール)に出力される 3.この文章は標準出力(コンソール)に出力される