Java はテキスト ファイル (csv ファイル、txt ファイルなど) を読み取るのですが、中国語に遭遇すると文字化けします。 (推奨: Java ビデオ チュートリアル )
コードを次のように読んでください:
List<string> lines=new ArrayList<string>(); BufferedReader br = new BufferedReader(new FileReader(fileName)); String line = null; while ((line = br.readLine()) != null) { lines.add(line); } br.close();</string></string>
原則:
Java の I/O クラスの処理は次のとおりです。図:
Reader クラスは Java の I/O で文字を読み取るための親クラスであり、InputStream クラスはバイトを読み取るための親クラスであり、InputStreamReader クラスはバイトと文字を関連付けるブリッジです。 I/O での文字の読み取りを担当します。O プロセスは、読み取ったバイトから文字への変換を処理し、バイトから文字への特定のデコードは StreamDecoder によって実装されます。StreamDecoder のデコード プロセスでは、ユーザーは Charset エンコーディングを指定する必要がありますフォーマット。 Charset を指定しない場合は、ローカル環境のデフォルトの文字セットが使用されることに注意してください (たとえば、中国語環境では GBK エンコードが使用されます)。
概要: Java がデータ ストリームを読み取るときは、データ ストリームのエンコード方式を指定する必要があります。指定しないと、ローカル環境のデフォルトの文字セットが使用されます。
上記の分析後、変更されたコードは次のようになります。
List<string> lines=new ArrayList<string>(); BufferedReader br=new BufferedReader(new InputStreamReader(new FileInputStream(fileName),"UTF-8")); String line = null; while ((line = br.readLine()) != null) { lines.add(line); } br.close();</string></string>
Java の詳細については、java 基本チュートリアル 列に注目してください。
以上がJavaでファイルを読み込む際に中国語が文字化けする解決策の紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。