JAva入出力ストリームのリダイレクト



UnixLinuxについて少し知っている人は、「流」という概念がどれほど重要か知っています.
UnixLinux Shellについて少し知っている人は、3大流、in、out、errorを知っています.
 
Shellでは><<<|便利な対流でリダイレクトできます.
同じjavaでもそうすることができます.
 
IntelliJ IDEAなどの統合開発環境で
System.out.println("out");

そして、統合開発環境の小さなウィンドウでoutを見ました.実は、統合開発環境はこのストリームにリダイレクトし、開発環境の小さなウィンドウにリダイレクトしました.
次のコードは、ストリームを再びファイルにリダイレクトします.
 
package test;

import java.io.*;

/**
 * Created by IntelliJ IDEA.
 * User: depeng
 * Date: 2010-6-23
 * To change this template use File | Settings | File Templates.
 */
public class IO2File {
    public static void main(String[] args) throws IOException {

        File f=new File("out.txt");
        f.createNewFile();
        FileOutputStream fileOutputStream = new FileOutputStream(f);
        PrintStream printStream = new PrintStream(fileOutputStream);
        System.setOut(printStream);
        System.out.println("            ,       out.txt");
    }
}