0

我正在使用此代码读取 csv 中的一行并获取列名,但问题是我得到了备用的 cloumn 名称。它跳过第一列读取第二列,然后跳过第三列并读取第四列。

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() 两次。每次,它都会抓取下一个元素。

您可能希望将 StringTokenizer 替换为 line.split(",") ,除非您有特殊需要使用它(例如性能)。

于 2013-07-17T23:08:38.840 回答