Абсолютно - System.out
и System.err
- это просто значения PrintStream
, связанные со стандартным выходом и стандартной ошибкой.
Вы можете создать PrintStream
из любого OutputStream
или просто, задавимя файлаОднако он всегда будет использовать системную кодировку по умолчанию.
Предпочитать PrintWriter
, что приведет к произвольному Writer
.Тем не менее, это будет все же подавлять IOException
от броска, что не кажется мне хорошей идеей.
Предпочитают BufferedWriter
:
BufferedWriter wrapper = new BufferedWriter(writer);
try {
wrapper.write(...);
wrapper.newLine();
} finally {
wrapper.close();
}