只要使用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
|