PeaceJetのブログ

金融系の社内エンジニアをやりながら、マーケティングやプランナーなども

CSVファイルを読み込んでみよう。【Java】

これから何度かに分けて、CSVファイルをJavaに読み込ませる方法をご紹介
したいと思います。

1. 単純に以下のようなリストを読み込む。

 ABC
11佐藤satou@hogehoge.jp
22藤田fujita@foobar.jp
33ジョン・ピーターセンjhon@hogefuga.uk
44小早川kobayakawa@fugafuga.jp
A列は ID として読み込むことにします。

2. 条件として【独自クラス】を使用します。

3. printlnでコンソールに出力します。


※ 注意したいことは、Windowsのメモ帳で作成した【List】ですので、
文字コードを"Shift-JIS"に設定しています。

package main;

import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;

public class CSVReader {
    public List<Bean> CSVFileReader(String FileName){
        List<Bean> ret = new ArrayList<Bean>();
        try {
            FileInputStream fis = new FileInputStream(FileName);
            InputStreamReader isr = new InputStreamReader(fis,"Shift-jis");
            BufferedReader br = new BufferedReader(isr);
            try {
                String str;
                while((str = br.readLine()) != null){
                    String[] CSVElements = str.split(",");
                    Bean bean = new Bean();
                    for(int i = 0; i < CSVElements.length; i++){
                        switch(i){
                        case 0: bean.setId(Integer.parseInt(CSVElements[i]));
                        case 1: bean.setName(CSVElements[i]);
                        case 2: bean.setAddress(CSVElements[i]);
                        }
                    }
                    ret.add(bean);
                }
                br.close();
                } catch (Exception e) {
                System.out.println(e);
            }
        } catch (Exception e) {
            System.out.println(e);
        }
        return ret;
    }
}