关于pdfbox解析pdf文件的疑问,请高手们赐教一下刘涛 (用户名:yetaodiao),

ios_che 2012-03-05 09:57:01
我的pdf文件稍微大一点(40M),就会爆内存溢出,我把pdf文件分割成1M一个的,用for循环去load也会爆内存溢出,该怎么解决啊?

File[] files = new File(file).listFiles();
for (File f : files)
{
System.out.println(f.getName());
FileInputStream fis = new FileInputStream(f);
// 内存中存储的PDF Document
PDDocument document = PDDocument.load(fis);
// System.out.println(stripper.getText(document));

document.close();
fis.close();
}



Exception in thread "main" org.apache.pdfbox.exceptions.WrappedIOException
at org.apache.pdfbox.pdfparser.PDFParser.parse(PDFParser.java:240)
at org.apache.pdfbox.pdmodel.PDDocument.load(PDDocument.java:1069)
at org.apache.pdfbox.pdmodel.PDDocument.load(PDDocument.java:1036)
at com.trends.pdfbox.Test2.geText(Test2.java:33)
at com.trends.pdfbox.Test2.main(Test2.java:13)
Caused by: java.lang.OutOfMemoryError: Java heap space
at org.apache.pdfbox.io.RandomAccessBuffer.expandBuffer(RandomAccessBuffer.java:151)
at org.apache.pdfbox.io.RandomAccessBuffer.write(RandomAccessBuffer.java:131)
at org.apache.pdfbox.io.RandomAccessFileOutputStream.write(RandomAccessFileOutputStream.java:108)
at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:65)
at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:123)
at java.io.FilterOutputStream.close(FilterOutputStream.java:140)
at org.apache.pdfbox.pdfparser.BaseParser.parseCOSStream(BaseParser.java:448)
at org.apache.pdfbox.pdfparser.PDFParser.parseObject(PDFParser.java:552)
at org.apache.pdfbox.pdfparser.PDFParser.parse(PDFParser.java:184)
... 4 more



我把内存设置成2000M还是一样内存溢出~~~

...全文
318 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
ios_che 2012-03-05
  • 打赏
  • 举报
回复
顶起来啊
wchy33 2012-03-05
  • 打赏
  • 举报
回复
ios_che 2012-03-05
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 junjun1984 的回复:]
向yetaodiao提问?
[/Quote]
我看他回复过一次关于pdfbox的,当然大家懂的都可以回复一下,求解~~
拉文麦克 2012-03-05
  • 打赏
  • 举报
回复
(⊙o⊙)哦
junjun1984 2012-03-05
  • 打赏
  • 举报
回复
向yetaodiao提问?
net_friends 2012-03-05
  • 打赏
  • 举报
回复
我把内存设置成2000M还是一样内存溢出~~~

684

社区成员

发帖
与我相关
我的任务
社区描述
智能路由器通常具有独立的操作系统,包括OpenWRT、eCos、VxWorks等,可以由用户自行安装各种应用,实现网络和设备的智能化管理。
linuxpython 技术论坛(原bbs)
社区管理员
  • 智能路由器社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧