我有一个 xml 文件存储在数据库 blob 中,用户将通过 spring/hibernate Web 应用程序下载该文件。在通过 Hibernate 将其作为 byte[] 检索后,但在将其发送到输出流之前,我需要编辑 XML 的某些部分(具有两个子节点和一个属性的单个节点)。
我担心的是如果文件更大(有些是 40mb+),那么我真的不想通过将整个文件放在内存中,编辑它然后通过输出流将它传递给用户来做到这一点。有没有办法“即时”编辑它?
byte[] b = blobRepository.get(blobID).getFile();
// What can I do here?
ServletOutputStream out = response.getOutputStream();
out.write(b);