Ответ 1
System.setErr(new PrintStream(new OutputStream() {
public void write(int b) {
}
}));
Есть ли способ установить поток System.err, чтобы все написанное на него игнорировалось? (т.е. отбрасывается не выводится)
System.setErr(new PrintStream(new OutputStream() {
public void write(int b) {
}
}));
Вы можете использовать System.setErr(), чтобы дать ему PrintStream, который ничего не делает.
См. пример @dogbane для кода.
Просто установите Ошибка для реализации dommy:
System.setErr(new PrintStream(new OutputStream() {
@Override
public void write(int arg0) throws IOException {
// keep empty
}
}));
Для этого вам нужно специальное разрешение.
RuntimePermission("setIO")
Вы можете перенаправить поток err на /dev/null
OutputStream output = new FileOutputStream("/dev/null");
PrintStream nullOut = new PrintStream(output);
System.setErr(nullOut);