0

テキストファイルからテキストを読み込もうとしています。å、ä、öなどの特殊文字がいくつかあります。文字列を作成してその文字列を印刷すると、?? これらの特殊文字から。私は次のコードを使用しています:

File fileDir = new File("files/myfile.txt");

BufferedReader br = new BufferedReader(new InputStreamReader(
                      new FileInputStream(fileDir), "UTF8"));

String strLine;
while ((strLine = br.readLine()) != null)   {
    System.out.println("strLine: "+strLine);
}

誰かが問題を教えてもらえますか?strLineで、å、ä、öをテキストファイルにそのまま表示して保存したいと思います。前もって感謝します。

4

2 に答える 2

1

Javaでサポートされているエンコーディングのリストについては、こちらを確認してください

非ASCII文字を含む最も一般的なシングルバイトエンコーディングはISO8859_1です。たぶんあなたのファイルはそれであり、あなたはあなたのFileInputStreamのためにそのエンコーディングを指定するべきです

于 2012-08-03T18:51:22.277 に答える
1

問題はファイルではなく、印刷しようとしているコンソールにある可能性があります。次の手順に従うことをお勧めします

  1. 読んでいるファイルがUTF-8でエンコードされていることを確認してください。
  2. 印刷先のコンソールに、これらの文字を表示するための適切なエンコーディング/文字セットがあることを確認してください

最後に、この記事Unicode-文字を正しく取得する方法は?必読です。

于 2012-08-03T19:00:29.537 に答える