Javaを使用してファイルを読み込もうとしていますが、ファイルにも特殊文字が含まれています。ファイルの内容を別のファイルに書き込もうとしています。
特殊な文字ファイルを読み取るための解決策は何ですか?
ファイルをUTF-8でエンコードし、Javaエンコード対応のストリーム演算子を使用します。
new InputStreamReader(new FileInputStream(file), "UTF-8")
ファイルが使用する正確なエンコーディングを見つけて、それを
InputStreamReader
パラメータで指定する必要があります。
それでも、InputStreamReaderを含むInputStreamをReaderまたはBufferedReaderにラップして、文字データを読み取るのが最適な場合がよくあります。
BufferedReader in = new BufferedReader(new InputStreamReader(new FileInputStream(your file), "UTF-8"));
コメント用に編集:
FileReader
Javaのプラットフォームのデフォルトのエンコーディングを使用します。これは、Javaが実行されているコンピューターのシステム設定によって異なります。
残念ながら
FileReader
、エンコーディングを設定することはできません。代わりに、上記のコードを使用して、ファイルの目的のエンコーディングを取得する必要があります。