前回やったCSV出力の解説を以下に記載します。
サンプルコード
import java.io.FileWriter;
import java.io.BufferedWriter;
import java.io.PrintWriter;
import java.io.IOException;
public class Sample {
public static void main(String args[]) {
int[] idList = {1,2,3};
String[] nameList = {"佐藤", "鈴木", "高橋"};
exportCsv(idList, nameList);
}
public static void exportCsv(int[] idList, String[] nameList){
try {
// 出力ファイルの作成
FileWriter f = new FileWriter("C:\\sample\\sample.csv", false); //①
PrintWriter p = new PrintWriter(new BufferedWriter(f)); // ②
// ヘッダーを指定する
p.print("社員番号");
p.print(",");
p.print("名前");
p.println();
// 内容をセットする
for(int i = 0; i < idList.length; i++){
p.print(idList[i]); // ③
p.print(",");
p.print(nameList[i]);
p.println(); // 改行(③)
}
// ファイルに書き出し閉じる
p.close(); // ④
System.out.println("ファイル出力完了!");
} catch (IOException ex) {
ex.printStackTrace();
}
}
}
①
FileWriter f = new FileWriter("C:\\sample\\sample.csv", false);
FileWriterクラスのオブジェクトを生成する。
オブジェクトを生成するのと同時にファイルを開くという処理も行っていて、ファイルがない場合は新規作成をしファイルを開く。
第二引数はtrueにすると追記、falseにすると上書きとなる。
②
PrintWriter p = new PrintWriter(new BufferedWriter(f));
PrintWriterクラスのオブジェクトを生成する。
③
p.print(idList[i]); p.println();
書き出す文字をバッファへ格納している。
printメソッド→改行なしでバッファへ格納
printlnメソッド→改行ありでバッファへ格納
④
p.close();
ファイル処理のリソースを開放する。(=ファイルに書き出し閉じる)
以上解説でした。