0

このコードを使用して csv の行を読み取り、列名を取得していますが、問題は別のクローン名を取得していることです。最初の列をスキップして 2 番目を読み取り、次に 3 番目をスキップして 4 番目を読み取ります。

BufferedReader br = new BufferedReader(new FileReader(csvFile));
               String line = "";
               StringTokenizer st = null;

               int lineNumber = 0; 
               int tokenNumber = 0;



               //read comma separated file line by line
               while ((line = br.readLine()) != null) {
                 lineNumber++;

                 //use comma as token separator
                 st = new StringTokenizer(line, ",");


                 while (st.hasMoreTokens()) {
                   //tokenNumber++;
                   s.add(st.nextToken());
                   //display csv values
                   System.out.print(st.nextToken() + "  ");

                 }
4

1 に答える 1

1

while ループで st.nextToken() を 2 回呼び出しています。毎回、次の要素を取得します。

特に使用する必要がある場合 (パフォーマンスなど) がない限り、StringTokenizer を line.split(",") に置き換えることをお勧めします。

于 2013-07-17T23:08:38.840 に答える