可以使用SuperCsv读取特定的行吗?
假设一个.csv文件包含100行,我想读取第11行。
发布于 2012-02-11 20:33:05
CSV文件通常包含可变长度的记录,这意味着不可能“跳转”到指定的记录。唯一的解决方案是从文件的开头顺序读取CSV记录,同时保持计数,直到达到所需的记录。
我还没有在SuperCsv中找到任何特殊的API来执行这种跳过行的操作,所以我猜您必须手动调用CsvListReader#read()方法11次才能获得所需的行。
我不知道其他CSV阅读库是否会有“跳行”功能,即使它们有,也不太可能比手动跳到所需的行更好,原因在第一段中给出了原因。
发布于 2019-07-26 03:43:55
这里有一个简单的解决方案,你可以适应它:
listReader = new CsvListReader(new InputStreamReader(new FileInputStream(CSVFILE, CHARSET), CsvPreference.TAB_PREFERENCE);
listReader.getHeader(false);
while ((listReader.read(processors)) != null) {
if (listReader.getLineNumber() == 1) {
System.out.println("Do whaever you need.");
}
}https://stackoverflow.com/questions/9239939
复制相似问题