我的大文件从5Mb到600Mb。我需要解析它们并通过正则表达式进行比较。但需要一段时间才能进行比较。例如,500kb文件需要35秒的代码。
这是我的代码:
Date currentTime = new Date();
String fileContents = "";
File file = new File(filePath);
BufferedReader br = new BufferedReader(new FileReader(file));
while((fileContents = br.readLine()) !=null)
{
fileContents += br.readLine() + "\n";
regexCompare(fileContents);
}
br.close();
Date newTime = new Date();
long msDelay = newTime.getTime() - currentTime.getTime();
timeLabel.setText("Maked in " + msDelay + " ms");
我的正则表达式功能:
private int regexCompare(String text) {
if (text.isEmpty()) return 0;
Matcher m = Pattern.compile(symbolsPattern).matcher(text);
while (m.find()) {
allMatches.add(m.group());
}
for (String f :allMatches) {
System.out.println(f);
}
return 1;
}
有谁知道我该怎么做才能让它更快?