System.out のエンコーディングを変更しようとして、私は PrintWriter を作成しました
PrintWriter out = new PrintWriter(new OutputStreamWriter(System.out, ENCODING));それで
out.format("何らかのテキスト");
エンコーディングに関してはうまくいきました。しかし
out.checkError()Unix の「head」コマンドなどによって出力ストリームが閉じられたときに true を返さなかった問題を修正しました。
PrintStream がエンコーディング付きのコンストラクターを提供していることがわかりました
PrintStream out = new PrintStream(System.out, true, ENCODING);
このクラスでは checkError() が正常に機能しました。
PrintWriter のケースがバグではないかと疑っていますが、何か足りないのでしょうか?