- ベストアンサー
unicodeファイルの読み込み
javaアプレット上で BufferedReader file = new BufferedReader(new FileReader("C:/test/list.txt")); で外部テキストファイルを読み込んでいるのですが、この外部テキストファイルの文字コードをANSIからUnicodeに変えるとプログラムが動かなくなります。日本語やアルファベットではない文字の保存のためにテキストをUnicodeにて保存しなければならないのですが、どうすればUnicodeのテキストファイルを読み込むことができますか。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>Convenience class for reading character files. The constructors of this class assume that the default character encoding and the default byte-buffer size are appropriate. To specify these values yourself, construct an InputStreamReader on a FileInputStream. とある通り、FileReaderクラスを使う限り出来ず、代わりに BufferedReader file = new BufferedReader(new InputStreamReader(new FileInputStream("C:/test/list.txt"),"UTF-8")); というような感じで行う。
その他の回答 (1)
- OKbokuzyo
- ベストアンサー率43% (130/296)
FileReaderクラスを用いるとシステムデフォルト(WindowsならばWindows-31J)の 文字コードが使用されます。 http://java.sun.com/javase/ja/6/docs/ja/api/java/io/FileReader.html javadocにもある通り、文字コードを指定したい場合は FileInputStreamをInputStreamReaderでラップする必要があります。 BufferedReaderはReaderクラスをラップするので 当然InputStreamReaderもラップできるため 操作上の問題は何も無いはずです。 FileInputStream fis = new FileInputStream("C:/test/list.txt"); InputStreamReader isr = new InputStreamReader(fis, "UTF-8"); BufferedReader br = new BufferedReader(isr);
お礼
ありがとうございます!
お礼
ありがとうございます!