UTF-8のファイルをSJISに変換後で文字化け。
サクラエディタを使って文字コード「UTF-8」を指定して保存したCSVファイルをJAVAでSJISに変換してファイルの中身をコンソールに表示したいのですが日本語の表示のところで文字化けが出ている形です。
なぜでしょうか。どう修正すれば文字化けがなくコンソール表示できるのでしょうか。
●CSVファイルの中身
no,title,year
1,てすと,2011
2,テスト,2012
3,test,
4,TEST,2015
●実行結果
0 : no
1 : title
2 : year
0 : 1
1 : 縺ヲ縺吶→
2 : 2011
0 : 2
1 : 繝�繧ケ繝�
2 : 2012
0 : 3
1 : test
2 :
0 : 4
1 : TEST
2 : 2015
public class TestClass {
public static void main(String[] args) {
try {
File file = new File("C:\\Users\\test\\Desktop\\CSVデータ_utf8.txt");
FileInputStream input = new FileInputStream(file);
InputStreamReader stream = new InputStreamReader(input,"UTF-8");
BufferedReader buffer = new BufferedReader(stream);
String line;
while ((line = buffer.readLine()) != null) {
byte[] b = line.getBytes();
line = new String(b, "SJIS");
String[] columns = line.split(",",-1);
for (int j = 0; j < columns.length; j++) {
System.out.println(j + " : " + columns[j]);
}
System.out.println("");
}
input.close();
stream.close();
buffer.close();
} catch (UnsupportedEncodingException | FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}