试图改变 System.out 的编码,我创建了一个 PrintWriter
PrintWriter out = new PrintWriter(new OutputStreamWriter(System.out, ENCODING));所以
out.format("一些文本");
编码工作得很好。但
out.checkError()当输出流关闭时没有返回真,例如通过 Unix 'head' 命令。
我发现 PrintStream 提供了一个带有编码的构造函数
PrintStream out = new PrintStream(System.out, true, ENCODING);
并且 checkError() 对这个类工作得很好。
我怀疑 PrintWriter 案例是一个错误,还是我遗漏了什么?