コマンドライン中国のディスプレイにバイトストリーム印刷が文字化けして、正しく表示することができ、中国内のファイルに書き込まれるのはなぜ

なぜコマンドライン中国のディスプレイに印刷が文字化けし、通常表示することができ、中国内のファイルに書き込まれていますか?
注意:メモ帳が読み込まれたバイトので、原因ではない、と読みが文字化けしている場合は、文字化けも書かれるべきような気がします。

(文字ストリームます)このプロセスの、それが原因でエラーを生成するために使用されるさまざまなエンコードとデコードとエンコードのではないだろう-それは、バイトストリーム「は、コード解読」されていないので、正確には
そのソースファイルを確実にするためにバイトストリームで、**実際ターゲットファイルがまったく同じで、もちろん、ファイルを開いて、通常の問題であり**
、画面上に印刷されますが、2として2バイト文字を印刷するには、あなたのコードを2バイト文字を入れているので間違っていますうち、性質が文字化けしています

輸入java.io. *;

パブリッククラスFileInputStream1 {

公共の静的な無効メイン(文字列[]引数)例外{スロー
=新しいFileInputStreamを(新しいファイル( "D:\\ aaa.txt"))でのFileInputStreamを、
FileOutputStream OU =新しいのFileOutputStream(新しいファイル( "D:\\ bb.txt"));

lenはint型;
バイト[] =新しい新しいバイトB [10];
しばらく(!(LEN = in.read(B))= -1){//コードを読み込むには、いくつかのバイトの文字が文字化けして印刷した後、明確ではありません
ou.write(B、0、LEN);
System.out.print((CHAR)LEN)の; //文字バイトは、昇順コードテーブルが存在し、直接文字を転送することができるので、アルファベットが歪みない場合チャーである文字読み出すための型バイト
}
in.closeを();
ou.close();
}
}

FileInputStreamのFileOutputStreamと直接ファイルを読み書きすることができますが(つまり、コピーを完了することができます)、転流をInputStreamReaderのラップするために必要なコンソールで読ん所望の印刷文字が文字に変わります。

 

おすすめ

転載: www.cnblogs.com/peishaobo/p/11347454.html