0
我使用下面的代碼並獲得Java的內存不足的錯誤讀取JSON文件:,因爲資源的內存Java堆空間問題的泄漏
BufferedReader br1 = new BufferedReader(new FileReader(filename));
try {
StringBuilder sb = new StringBuilder();
String line = br1.readLine();
while (line != null) {
sb.append(line);
}
result = sb.toString();
} catch (Exception e) {
e.printStackTrace();
}
我得到以下錯誤:
java.lang.OutOfMemoryError: Java heap space
at java.util.Arrays.copyOf(Arrays.java:3332)
at java.lang.AbstractStringBuilder.ensureCapacityInternal(AbstractStringBuilder.java:124)
at java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:448)
at java.lang.StringBuilder.append(StringBuilder.java:136)
後來我意識到有緩衝讀寫器 資源泄漏的警告,所以我添加了代碼br1.close();
,警告已解決。但是,java堆空間的問題仍然存在。
我甚至將我的文件更改爲普通文本文件,並向該文件添加了一行樣本,但問題仍然存在。
可能的重複https://stackoverflow.com/questions/37335/how-to-deal-with-java-lang-outofmemoryerror-java-heap-space-error-64mb-heap – Lokesh
不,對於上述問題文件的大小是巨大的。但在我的情況下,我甚至現在用2行文件嘗試。它只是讀取第一行並拋出此錯誤 –
你檢查了Jiri的答案? – Lokesh