JavaでCSVファイルを読み書きするとき、OpenCsvと呼ばれるライブラリを使用することができます。 もちろん、簡単なCSVファイルを作成したら、直接実装することもできます。
私は、単純なCSVファイルのみを作成しようとしたため、読み取り/書き込みを行う方法のみ作成しました。 サイトに入ってサンプルを見れば、豪華な方法で効率的なCSVファイルを作成できるようにガイドをします。
OpenCsvの高度な機能を使用している場合、OpenCsvを参照してください良さそうです。
ライブラリの設定
私はGradleプロジェクトを作成しました。 gradleを使用すると、次のように依存性を設定するとします。
dependencies {
...
implementation group: 'com.opencsv', name: 'opencsv', version: '4.4'
}
Write CSV
以下は、CSVファイルを作成します。
package example;
import com.opencsv.CSVReader;
import com.opencsv.CSVWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class OpenCsv {
public static void writeDataToCsv(String filePath) throws IOException {
CSVWriter writer = new CSVWriter(new FileWriter(filePath));
String[] entries = "EW#City#State".split("#"); // 1
writer.writeNext(entries); // 2
String[] entries1 = {"W", "Youngstown", "OH"}; // 3
writer.writeNext(entries1);
String[] entries2 = {"W", "Williamson", "WV"};
writer.writeNext(entries2);
writer.close();
}
public static void main(String args[]) throws IOException {
writeDataToCsv("./sample.csv");
}
}
split()
を利用して、文字列の配列を作成することができます。writeNext()
を呼び出すと、引数がCSVファイルに保存されます。
3.直接配列にアイテムを入れてもされます。
生成されたファイルの内容は、次のとおりです。
"EW","City","State"
"W","Youngstown","OH"
"W","Williamson","WV"
Read CSV
以下は、CSVファイルを作成し、CSVファイルを読んでデータを出力する例です。
package example;
import com.opencsv.CSVReader;
import com.opencsv.CSVWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class OpenCsv {
public static void writeDataToCsv(String filePath) throws IOException {
CSVWriter writer = new CSVWriter(new FileWriter(filePath));
String[] entries = "EW#City#State".split("#"); // 1
writer.writeNext(entries);
String[] entries1 = {"W", "Youngstown", "OH"}; // 2
writer.writeNext(entries1);
String[] entries2 = {"W", "Williamson", "WV"};
writer.writeNext(entries2);
writer.close();
}
public static void readDataFromCsv(String filePath) throws IOException {
CSVReader reader = new CSVReader(new FileReader(filePath)); // 1
String [] nextLine;
while ((nextLine = reader.readNext()) != null) { // 2
for (int i = 0; i < nextLine.length; i++) {
System.out.println(i + " " + nextLine[i]);
}
System.out.println();
}
}
public static void main(String args[]) throws IOException {
writeDataToCsv("./sample.csv");
readDataFromCsv("./sample.csv");
}
}
- CSVReaderを生成します。
readNext()
でCSVファイルを行単位で読み取ることができます。アイテム数の配列が返されます。
実行結果は次のとおりです。
0 EW
1 City
2 State
0 W
1 Youngstown
2 OH
0 W
1 Williamson
2 WV
参考
Related Posts
- Java - AtomicReference使用方法
- Java - CountDownLatchを使用する方法、および例
- Java - ScheduledThreadPoolExecutor使用方法
- Java - SummaryStatisticsの使用方法(count、min、max、average)
- Java8 - 関数型インタフェース (Functional Interface) について
- Java - String配列をint配列に変換する
- Java - ArrayList要素の値を変更する方法、replaceAll()
- Java - 2つのリストが同じかどうかを比較
- Java - 配列から特定のIndex要素を削除する3つの方法
- Java - HashMapソート、4つの方法
- Java - 文字列を配列に変換する方法
- Java - ArrayListが空であることを確認する3つの方法
- Java - ArrayListの巡回、4つの方法
- Java - ArrayListの最大値、最小 値を見つける
- Java - ArrayListの合計、平均値の計算
- Java - HashMap巡回、3つの方法
- Java - do whileとwhileの違い
- Java - Lambda式と関数型インタフェース
- Java - List empty(null)チェック、3つの方法
- Java - ArrayListの初期化、4つの方法
- Java - Stream.reduce()の使い方と例
- Java - 2つのマップを結合する(merge、putAll)
- Java - java.util.Dateをjava.sql.Dateに変換する
- Java - ArrayListをStringに変換する
- Java - ClassNotFoundExceptionの発生原因と解決策
- Java - 非静的メソッドは静的コンテキストから参照できません
- Java - NoSuchMethodErrorの原因と解決策
- Java - JSONライブラリを使用する方法(JSONObject、JSONArray)
- Java - byte[]配列をFileに保存
- Java - byte[]の配列をStringに変換
- Java - ファイルのアクセス権を確認し、変更
- Java - 一時フォルダ(Temp directory)パスを取得する
- Javaでシェルスクリプトを実行
- Java - Streamを配列に変換する
- Java - リスト重複排除、2つの方法