只要使用OutputStream
对象就可使用System.out
和System.err
对象引用。只要可以使用InputStream
对象就可以使用System.in
对象。
System
类提供了三个静态设置器方法setOut()
,setIn()
和stdErr()
,以用自己的设备替换这三个标准设备。
要将所有标准输出重定向到一个文件,需要通过传递一个代表文件的PrintStream
对象来调用setOut()
方法。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
import java.io.PrintStream; import java.io.FileOutputStream; import java.io.File; public class Main { public static void main(String[] args) throws Exception { File outFile = new File( "stdout.txt" ); PrintStream ps = new PrintStream( new FileOutputStream(outFile)); System.out.println(outFile.getAbsolutePath()); System.setOut(ps); System.out.println( "Hello world!" ); System.out.println( "Java I/O is cool!" ); } } |
上面的代码生成以下结果。
1
|
F:\website\sxt\worksp\stdout.txt |