我嘗試讀取超過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:我試着用特定的參數分割它 –