Javaでcsvファイルを読み込み、別のcsvファイルに書き込む。しかし、その時数値や記号は正常に表示されるが、日本語は文字化けしてしまった。
Task.java
//入力ストリームの準備
FileReader fr = null;
BufferedReader br = null;
//出力ストリームの準備
FileWriter fw = null;
BufferedWriter bw = null;
try{
fr = new FileReader("入力ファイル名.csv");
br = new BufferedReader(fr);
fw = new FileWriter("出力ファイル名.csv");
bw = new BufferedWriter(fw);
String str;
//csvファイルを一行ずつ読み込む
while((str = br.readLine()) != null){
bw.write(str+"\r\n");//改行を含めて書き込む
bw.flush();
}catch(IOException e){
e.printStackTrace();
System.exit(1);
}finally{
br.close();
}
文字化けしてしまった。
本来は年月日,平均気温,最高気温,最低気温,降水量,日照時間と出力するはずだった。
読み込むときに文字コードを指定して読み込むことで解決できるらしい。