我尝试读取超过400万行,大小超过400 MB的日志文件,但我得到内存不足错误:java堆空间。这是我的代码:内存不足错误,Java堆空间
File file = new File("C:\\file.log");
FileReader fileReader = new FileReader(file);
BufferedReader bufferedReader = new BufferedReader(fileReader);
StringBuilder stringBuffer = new StringBuilder();
String line;
while ((line = bufferedReader.readLine()) != null) {
stringBuffer.append(line);
}
我试图增加堆内存到1GB,但仍然得到该消息。可能的原因是什么?
不要将整个文件存储在一个StringBuffer中......你想用文件内容做什么? –
@ElliottFrisch如果他已经增加到1GB,文件只有400MB - 它会失败吗? –
@ElliottFrisch:我试着用特定的参数分割它 –