【发布时间】:2011-04-29 12:39:47
【问题描述】:
我需要将 xml 文件的 base64 编码元素写入单独的文件。问题:文件很容易达到 100 MB 的大小。我尝试的每个解决方案都以“java.lang.OutOfMemoryError: Java heap space”结束。问题一般不是读取xml或解码过程,而是base64块的大小。
我使用 jdom、dom4j 和 XMLStreamReader 来访问 xml 文件。但是,只要我想访问相应元素的 base64 内容,就会收到上述错误。我还尝试了使用 saxon 的 base64Binary-to-octets 函数的 xslt,但结果当然相同。
有没有办法将这个 base64 编码的部分流式传输到一个文件中,而无需将整个块放在一个单独的片段中?
感谢您的提示,
安德烈亚斯
【问题讨论】:
-
如果文件只能达到 100MB,那么您当然可以将其放入几乎现代桌面的 RAM 中。将
-Xmx500m传递给 JVM 就可以了。 -
增加堆大小?还是你在一台 128mb 内存的机器上?
标签: java xml file-io base64 out-of-memory