有没有办法设置流System.err,以便忽略写入它的所有内容? (即丢弃未输出)
答案 0 :(得分:37)
System.setErr(new PrintStream(new OutputStream() {
public void write(int b) {
}
}));
答案 1 :(得分:18)
您可以使用System.setErr()为其提供一个不执行任何操作的PrintStream。
请参阅@ dogbane的代码示例。
答案 2 :(得分:4)
只需将Error设置为dommy实现:
System.setErr(new PrintStream(new OutputStream() {
@Override
public void write(int arg0) throws IOException {
// keep empty
}
}));
您需要获得特殊许可才能这样做。
RuntimePermission("setIO")
答案 3 :(得分:2)
您可以将错误的流重定向到/dev/null
OutputStream output = new FileOutputStream("/dev/null");
PrintStream nullOut = new PrintStream(output);
System.setErr(nullOut);