繁体   English   中英

在Java中以有效方式读取CSV文件

[英]Reading the csv file in an efficient manner in java

我有下面的逗号分隔的csv文件,现在我需要从该文件中读取der_id列的值,我已经这样做了,但是请告知我如何通过扫描仪或更优化的方式在Java中实现相同的目的通过任何比Java更优化的ine方法。

wert,der_tran,der_id,der_version,cvns_num,cvs_type
AB42126325,0,694698683,0,651626843,13002
AB42126326,0,694698686,0,651626846,13001

目前,我正在以这种格式阅读。

public class Parsingcsv {

    public static void main(String[] args)
    {
        Parsingcsv obj = new Parsingcsv();
        obj.run();
    }

    public void run()
    {
        String csvFile = "C:\\abc_2.csv";
        BufferedReader br = null;
        String line = "";
        String cvsSplitBy = ",";

        try 
            {
               br = new BufferedReader(new FileReader(csvFile));
               while ((line = br.readLine()) != null) {

                // use comma as separator
                String[] id = line.split(cvsSplitBy);

                System.out.println("[der_id= " + id[2] + "]");

            }

        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            if (br != null) {
                try {
                    br.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }    
        System.out.println("#####################3");
    }

}

分割行以提取ID效率低下,请尝试此操作

String id = line.replaceAll(".*?,.*?,(.*?),.*", "$1");

您可能应该只使用一个库。 这个问题有建议

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM