【Java】CSVファイルを扱う ~ 簡易版 ~

■ 簡易版

 * 簡単に実装できるサンプルを以下に示す

CSVの読み込む

サンプル

import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.StringTokenizer;

public class CsvHelper {

   public static void main(String[] args) {
      List<List<String>> csvValues = CsvHelper.getCsvValues("sample.csv");
      for (List<String> values : csvValues) {
         for (String value : values) {
            // 1行の各要素をタブ区切りで表示
            System.out.print(value + "\t");
         }
         System.out.println();
      }
   }

   public static List<List<String>> getCsvValues(String fileName) {
      List<List<String>> returnValues = new ArrayList<List<String>>();
      try (BufferedReader bufferedReader = new BufferedReader(new FileReader(
            new File(fileName)))) {
         // 最終行まで読み込む
         String line = "";
         while ((line = bufferedReader.readLine()) != null) {
            List<String> values = new ArrayList<String>();
            // 1行をデータの要素に分割
            StringTokenizer stringTokenizer = new StringTokenizer(line, ",");
            while (stringTokenizer.hasMoreTokens()) {
               // 1行の各要素を追加
               values.add(stringTokenizer.nextToken());
            }
            returnValues.add(values);
         }
      } catch (FileNotFoundException ex) {
         // Fileオブジェクト生成時の例外捕捉
         ex.printStackTrace();
      } catch (IOException ex) {
         // BufferedReaderオブジェクトのクローズ時の例外捕捉
         ex.printStackTrace();
      }
      return returnValues;
   }
}

■ 補足

 * 上記のサンプルだと「,」が使用できなので、ちょっと不便。
 →例えば、「2,000円」だとカンマで区切られてしまう。

 * 「"」で囲んだときは、「,」も値として抽出する
http://dev.livetp.com/java/0306.html


関連記事

JavaCSVファイルを扱う ~ ライブラリ「OpenCSV」編 ~

https://blogs.yahoo.co.jp/dk521123/37439215.html