コマンドライン I/O に関する Sunのこのチュートリアルを見ていました。それは次のように述べています。
標準ストリームは文字ストリームであると思われるかもしれませんが、歴史的な理由から、それらはバイト ストリームです。System.out と System.err は PrintStream オブジェクトとして定義されています。技術的にはバイト ストリームですが、PrintStream は内部文字ストリーム オブジェクトを使用して、文字ストリームの多くの機能をエミュレートします。
「歴史的理由」とは何か知っている人はいますか?