【发布时间】:2012-10-17 08:18:13
【问题描述】:
尝试更改 System.out 的编码,我创建了一个 PrintWriter
PrintWriter out = new PrintWriter(new OutputStreamWriter(System.out, ENCODING));所以
out.format("一些文本");
在编码方面工作得很好。但是
out.checkError()没有返回 true 当输出流关闭时,例如通过 Unix 'head' 命令。
我发现 PrintStream 提供了一个带编码的构造函数
PrintStream out = new PrintStream(System.out, true, ENCODING);
和 checkError() 这门课效果很好。
我怀疑 PrintWriter 案例是一个错误,还是我遗漏了什么?
【问题讨论】:
-
预期的结果是什么?你想达到什么目的?
-
head命令没有关闭输出流。只有你可以关闭它。
标签: java