如何使用逗号分隔CSV文件,如果它有空值,我们需要对应于上列的数据



代码为

        BufferedReader fileReader = new BufferedReader(new FileReader(strFileName));
        while ((strLine = fileReader.readLine()) != null) {
            // [2011.06.28] based on OAP's mail, now ignore "quotations"
            strLine = strLine.replace(""", "");
            int j = 0;
            String componentID = null;
            String analyteResult = null;
            lineNumber++;
            //break comma separated line using ","
            st = new StringTokenizer(strLine, ",");
            while (st.hasMoreTokens()) {                   
                //st.nextToken();
                String value=st.nextToken();
                if(tokenNumber==1)
                {
                    if(lineNumber==1){
                        batchNo=value;
                    }
                    else if(lineNumber==2){
                        instrumentNo=value;
                    }
                }
                else if(lineNumber==4)
                {
                    if(value.contains("_")){
                        String temp[] = value.split("_");
                        analyteCode = temp[0].trim();
                        a[j] = tokenNumber;
                        j++;
                    }
                }
                else if(lineNumber>4)
                {
                    if(tokenNumber==0){
                        componentID=value;
                    }
                }
                tokenNumber++;
                //System.out.println("Line Number : "+lineNumber+" Token Number: "+tokenNumber+"Value: "+st.nextToken());
            }
            //reset token number
            tokenNumber = 0;
        }

但我需要分析结果对应于前列分析代码....因为它也可以是空....所以它消失了所有的逗号,不解析对应于前一个列分析代码的结果。

我不确定您是否有不使用任何开源库的冲动,因此我强烈推荐以下广泛使用的开源CSV解析器。它将在编码和性能方面为您节省大量的工作。请检查他们为您的具体需要。

  1. Apache Commons CSV解析器。
  2. OpenCSV解析器

相关内容

  • 没有找到相关文章

最新更新