16 java apache-poi
我的文件是9MB,我在加载工作簿时遇到此错误.
XSSFWorkbook workbook = new XSSFWorkbook(excelFilePath);
Run Code Online (Sandbox Code Playgroud)
这条线导致 java.lang.OutOfMemoryError: Java heap space
我怎么解决这个问题?
Ran*_*ess 25
首先要检查的是 - 您是使用InputStream还是文件打开XSSFWorkbook?用文件打开它的内存要低得多.
接下来,你想读或写吗?如果你的内存非常紧张,那么在sax中使用XSSF还有其他选择.
有关阅读的信息,请参阅http://poi.apache.org/spreadsheet/how-to.html#xssf_sax_api,了解有关使用XSSF + Sax的详细信息.作为另一种选择,如果您只想获取文件的文本内容,那么看起来Apache Tika使用POI为.xlsx文件提供了基于事件的文本提取器.
对于写作,最近关于改进"大网格演示"的POI开发列表已经有很多讨论.您可能想要关注那些 - http://poi.apache.org/mailinglists.html
我认为默认堆大小是128M
您可以使用java的-Xmx参数来增加它
例如
java -Xmx512m myapp.java
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
41304 次 |
| 最近记录: |