自己投資としてチャレンジしている内容を Blog で公開しています。今回は CSV ファイルのデータを読み込み出力する方法について紹介します。
————————————
▼1. CSV ファイルのデータを読み込み出力する方法
————————————
CSV ファイルからデータを読み出力する方法をまとめました。CSV からデータを読むために Bufferedreader クラスの readLine メソッドを利用します。読んだデータは配列に入れ、 Family のクラスの引数として渡し println で出力します。
————————————
▼2. 事前準備
————————————
2-1. CSV ファイルを vi エディタで作成します。
(例) data.csv
1,Travase,true
2,Ken,true
3,Satya,true
4,Simon,false
5,Jane,false
6,Kristy,true————————————
▼3. CSV ファイルのデータを読み込み出力するコード
————————————
3-1. 最初に CSV ファイルのデータを読みます。CSV から読み込んだデータは配列に格納し Family クラスの引数として渡しています。3つ目の引数は Boolean なので、Boolean.valueOf メソッドを利用して string から Boolean に変換しています。
(例)
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
public class ReadCSVv1 {
protected static final Logger log = LoggerFactory.getLogger(ReadCSVv1.class);
public static class Family {
public String id;
public String lastName;
public boolean isRegistered;
public String getId() {
return id;
}
public String getLastName() {
return lastName;
}
public Family(String idv, String lastnamev, boolean isv) {
id = idv;
lastName = lastnamev;
isRegistered = isv;
System.out.println("id " + id + ", lastName " + lastName + ", isRegistered " + isRegistered);
}
public Family() {
}
}
public static void main(String... args) {
BufferedReader reader = null;
try {
reader = new BufferedReader(new FileReader(new File("/home/UserA/data.csv")));
String line;
String[] data;
log.info("Show data from a CSV file");
while ((line = reader.readLine()) != null) {
data = line.split(",");
for (int i = 0; i < data.length; i = i + 3) {
Family family = new Family(data[i], data[i + 1], Boolean.valueOf(data[i + 2]));
}
}
} catch (Exception e) {
log.info("Something went wrong! ", e);
} finally {
if (reader != null) {
try {
reader.close();
} catch (IOException ioe) {
ioe.printStackTrace();
}
}
}
}
}3-2. 実行結果は以下となります。
(例)
[main] INFO ReadCSVv1 - Show data from a CSV file
id 1, lastName Travase, isRegistered true
id 2, lastName Ken, isRegistered true
id 3, lastName Satya, isRegistered true
id 4, lastName Simon, isRegistered false
id 5, lastName Jane, isRegistered false
id 6, lastName Kristy, isRegistered true————————————
▼4. 参考情報
————————————
Java – ファイルを読む方法 (read) No.3
クラスBufferedReader
以上です。参考になりましたら幸いです。