このページには、以下のサンプルを掲載しています。
下の項目をクリックをすると各サンプルにジャンプします。
※2週間以内の新着記事はNewアイコン、更新記事はUpアイコンが表示されます。
CSVとは、Comma Separated Valuesの略で、データをカンマで区切って記述したテキストファイルです。
このページでは、CSVファイルの読み書きやデータへの操作などのサンプルを記述しています。
1. CSVファイルの読み込み
[ サンプルプログラムのソースコード - CsvSample01.java - ]
- import java.io.BufferedReader;
- import java.io.File;
- import java.io.FileInputStream;
- import java.io.InputStreamReader;
- import java.util.ArrayList;
- public class CsvSample01 {
- public static void main(String[] args) {
-
- // 読み込むファイルの名前
- String filename = "test.csv";
- File file = new File(filename);
- try {
- FileInputStream fis = new FileInputStream(file);
- InputStreamReader isr = new InputStreamReader(fis);
- BufferedReader br = new BufferedReader(isr);
- String line;
- ArrayList csvData = new ArrayList();
- while ( ( line = br.readLine()) != null ) {
- String[] cols = line.split(",");
- csvData.add(cols);
- }
-
- // 読み込みデータの表示
- for ( String[] row : csvData ) {
- System.out.println("名前 : " + row[0]);
- System.out.println("性別 : " + row[1]);
- System.out.println("年齢 : " + row[2]);
- System.out.println();
- }
- } catch(Exception e) {
- e.printStackTrace();
- }
- }
- }
|
[ 読み込みcsvの内容 - test.csv - ]
山田 太郎,18,男性
鈴木 花子,21,女性
名無し 権兵衛,80,男性
|
[ サンプルプログラムの実行結果 ]
名前 : 山田 太郎
性別 : 18
年齢 : 男性
名前 : 鈴木 花子
性別 : 21
年齢 : 女性
名前 : 名無し 権兵衛
性別 : 80
年齢 : 男性
|
[ サンプルプログラムの解説 ]
このサンプルでは、ファイルから1行ずつ読み込んだ文字列を単純にカンマ(,)で分割しているだけです。
項目をダブルクォート(")で括った場合などの考慮はしていません。
21行目〜24行目のwhile文でファイルの内容を1行ずつ取り出し、22行目のsplit(",")でカンマ
による文字列分割を行っています。分割されたデータは、Stringオブジェクトの配列として変数colsに
格納されます。分割された1行分のCSVデータである変数colsは、23行目のadd(cols)によって
20行目で定義しているArrayListオブジェクト(csvData)の中に格納しています。