gpt4 book ai didi

java - Java String.split 的替代方案以获得更好的性能

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:39:57 58 4
gpt4 key购买 nike

在通过从 csv/tab 分隔文件导入来添加数据的过程中,我的代码消耗了大量时间来上传数据。有没有其他方法可以更快地做到这一点??这是我用来拆分数组中的字段的代码。

 //Here -  lineString = fileReader.readLine()

public static String [] splitAndGetFieldNames(String lineString ,String fileType)
{
if(lineString==null || lineString.trim().equals("")){
return null;
}
System.out.print("LINEEEE " + lineString);
String pattern = "(?=(?:[^\"]*\"[^\"]*\")*(?![^\"]*\"))";
if(fileType.equals("tab"))
pattern = "\t" + pattern;
else
pattern = "," + pattern;

String fieldNames[] = lineString.split(pattern);


for(int i=0 ; i < fieldNames.length ; i++){
//logger.info("Split Fields::"+fieldNames[i]);
if (fieldNames[i].startsWith("\""))
fieldNames[i] = fieldNames[i].substring(1);
if (fieldNames[i].endsWith("\""))
fieldNames[i] = fieldNames[i].substring(0, fieldNames[i].length()-1);
fieldNames[i] = fieldNames[i].replaceAll("\"\"","\"").trim();
//logger.info("Split Fields after manipulation::"+fieldNames[i]);
}
return fieldNames;
}

最佳答案

使用像 super-csv 这样的 CSV 解析器.

Univocity 提供了一个 benchmark of CSV parsers .它说univocity-parsers速度很快,这并不奇怪。你可以试一试。

关于java - Java String.split 的替代方案以获得更好的性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43209007/

58 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com