目前我正在使用扫描仪/文件阅读器并使用 while hasextline。我认为这种方法效率不高。有没有其他方法可以读取具有类似功能的文件?
public void Read(String file) {
Scanner sc = null;
try {
sc = new Scanner(new FileReader(file));
while (sc.hasNextLine()) {
String text = sc.nextLine();
String[] file_Array = text.split(" ", 3);
if (file_Array[0].equalsIgnoreCase("case")) {
//do something
} else if (file_Array[0].equalsIgnoreCase("object")) {
//do something
} else if (file_Array[0].equalsIgnoreCase("classes")) {
//do something
} else if (file_Array[0].equalsIgnoreCase("function")) {
//do something
}
else if (file_Array[0].equalsIgnoreCase("ignore")) {
//do something
}
else if (file_Array[0].equalsIgnoreCase("display")) {
//do something
}
}
} catch (FileNotFoundException e) {
System.out.println("Input file " + file + " not found");
System.exit(1);
} finally {
sc.close();
}
}
原文由 BeyondProgrammer 发布,翻译遵循 CC BY-SA 4.0 许可协议
你会发现
BufferedReader.readLine()
的速度和你需要的一样快:你可以用它每秒读取数百万行。您的字符串拆分和处理更有可能导致您遇到的任何性能问题。