我正在使用以下方法将文件读入JTextArea
:
public void readFile(File file) throws java.io.FileNotFoundException,
java.io.IOException {
if(file == null) return;
jTextArea1.setText("");
try(BufferedReader reader = new BufferedReader(new FileReader(file))){
String line = "";
while((line=reader.readLine())!=null){
jTextArea.append(line + "\n");
}
}
}
它适用于正常大小的文件(几百 KB),但是当我测试一个 42 MB 的 30000 行文件时,记事本可以在大约 5 秒内打开它,我的文件阅读器却花了很长时间。我等不及要完成了。我等了大约 15-20 分钟,它仍在工作,消耗了我 30% 的 CPU 使用率。
你能给我一个解决方案吗?我只处理文本文件,而不是二进制文件,我所知道的是BufferedReader
最好的。