java - 在java中使用缓冲读取器读取行时获取备用列名?

标签 java csv bufferedreader

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

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() + "  ");

                 }

最佳答案

您在 while 循环中调用 st.nextToken() 两次。每次,它都会抓取下一个元素。

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

关于java - 在java中使用缓冲读取器读取行时获取备用列名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17711714/

相关文章:

java - 扫描 nextLine,卡在 while 循环中或在奇怪的时间退出

vb.net - 保存带有度数符号和 ASCII 编码的 CSV 文件

python - 如何解决 AttributeError : 'DataFrame' object has no attribute

java - 如何使服务器能够接受来自具有不同套接字连接的客户端的多个输入流?

java - 当我尝试使用 BufferedReader 将整数输入存储到数组中时遇到数字格式异常

java - Play + JPA + Hibernate + PostgreSQL : Cannot create Tables

使用扫描仪时出现 java.util.NoSuchElementException

Java:解析澳大利亚街道地址

Python pandas 给出逗号分隔值新列

java - 从配置加载灯光