2013年4月1日月曜日

CSVファイルを読み込むサンプルコード

CSV形式のファイルをArraylistに取り込むサンプルコード



    private ArrayList<String>[] clist;//ここにデータを格納

//引数はファイル名、列数
public  ArrayList<String>[] CSV(String pass,int youso) {
       try {
         int count =0;
        clist = new ArrayList[youso];
                               //初期化
        while(count<youso){
        clist[count] =new ArrayList<String>();
        count++;
        }
         InputStream fin=null;

         fin= ActivityActivity.class.getResourceAsStream(pass);

         BufferedReader br = new BufferedReader(new InputStreamReader(fin));
         // 最終行まで読み込む
         String line = "";
         while ((line = br.readLine()) != null) {

           // 1行をデータの要素に分割
           StringTokenizer st = new StringTokenizer(line, ",");
                                int i=0;
           while (st.hasMoreTokens()) {
             // 1行の各要素をタブ区切りで表示
             String tmp= st.nextToken();
            clist[i].add(tmp);
            i++;
           }
          }
         br.close();

       } catch (FileNotFoundException e) {
         // Fileオブジェクト生成時の例外捕捉
         e.printStackTrace();
       } catch (IOException e) {
         // BufferedReaderオブジェクトのクローズ時の例外捕捉
         e.printStackTrace();
       }
return clist;
                 
    }

StringTokenizerを変える事でカンマ区切り以外にも変更できる。

0 件のコメント:

コメントを投稿