java重定向stderror

2014-04-23 06:30:01 阅读( 114 )

2373人 收藏本页

标签:Java面试题

要重定向stderror需要调用System的setErr()方法,该方法接受一个PrintStream对象作为参数。

下面的示例代码创建了一个基于文件的FileOutputStream将stderror的内容保存到一个文件中。

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.PrintStream;
/**
* Main.java
*
* @author outofmemory.cn
*/
public class Main {

/**
* Redirects System.err and sends all data to a file.
*
*/
public void redirectSystemErr() {

try {

System.setErr(new PrintStream(new FileOutputStream("system_err.txt")));

String nullString = null;

//Forcing an exception to have the stacktrace printed on System.err
nullString = nullString.toUpperCase();

} catch (FileNotFoundException ex) {
ex.printStackTrace();
}
}
/**
* Starts the program
*
* @param args the command line arguments
*/
public static void main(String[] args) {
new Main().redirectSystemErr();
}
}

下一篇:如何退出java程序

上一篇:java unit test Mock框架jMockit示例教程 - Mock final的类和方法

亲~ 如果您有更好的答案 可在评论区发表您独到的见解。

您想查看更多的信息: 面试题