【发布时间】:2015-11-14 10:24:10
【问题描述】:
我有一个大的.csv 文件(大约300 MB),它是从远程主机读取的,并解析为目标文件,但我不需要将所有行都复制到目标文件中。复制时,我需要从源中读取每一行,如果它传递了一些谓词,则将该行添加到目标文件中。
我想 Apache CSV (apache.commons.csv) 只能解析整个文件
CSVFormat csvFileFormat = CSVFormat.EXCEL.withHeader();
CSVParser csvFileParser = new CSVParser("filePath", csvFileFormat);
List<CSVRecord> csvRecords = csvFileParser.getRecords();
所以我不能使用BufferedReader。根据我的代码,应该为每一行创建一个new CSVParser() 实例,看起来效率很低。
在上述情况下,如何解析单行(表头已知)?
【问题讨论】:
标签: java csv filtering large-files apache-commons-csv