JAVAで、 utf8 以外のテキストファイルを読み込むと文字化けする
JAVAで、テキストファイルを読み込む処理を下記の様に作ったのですが、
読み込むテキストファイルが、EUCやShift-JIS、GB2312などのように、
UTF-8以外の場合、読み込んだStringの中が、文字化け状態です。
ユニコード(UTF-8)に変換して、読み込まれていないのが原因?
尚、読み込むファイルの文字コードの判定方法は不明なので、
今は、下記の様に固定で、UTF-8を指定しています。
★事前に文字コードを判定する処理や、このソースへ追加/修正することで、
JAVAが何かの変換処理で?サポートしている?文字コードなら、
UTF-8として、Stringに、読み込めるようにできないでしょうか?
InputStreamReader fr = null;
BufferedReader br = null;
try {
fr = new InputStreamReader(new FileInputStream(strFile_name), "UTF-8");
br = new BufferedReader(fr);
// 既存のreadLine()では\rまたは\n、および\r\nにて改行とみなしている。
String strLine = null;
int iCount = 0;
while ((strLine = br.readLine()) != null) { // null=ファイルの最後
file_text_line.add(strLine);
iCount++;
}
br.close();
fr.close();
return iCount; // 読込み成功(注意:0件の時もある)
}
catch (FileNotFoundException e) {