我可以使用PrintStream
的{{1}}方法而不涉及println()
类吗?
答案 0 :(得分:5)
绝对 - System.out
和System.err
只是与标准输出和标准错误相关联的PrintStream
值。
您可以从任何PrintStream
创建OutputStream
,或者只提供文件名。但是,它将始终使用系统默认编码。
首选PrintWriter
,它将包含任意Writer
。但是,这将仍然压制IOException
被抛出,这对我来说似乎不是一个好主意。
BufferedWriter wrapper = new BufferedWriter(writer);
try {
wrapper.write(...);
wrapper.newLine();
} finally {
wrapper.close();
}
答案 1 :(得分:1)
System类不“引用PrintStream类”。它有两个类型为PrintStream的静态字段:out
和err
。因此,如果您要写入流出,请使用System.out
。如果要写入错误流,请使用System.err
。如果要写入另一个PrintStream,可以自己构建一个:new PrintStream(...)
。