デフォルトでは、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.この文章は標準出力(コンソール)に出力される