如何从byte []列表创建输入流,其中每个byte []代表一个文档的一页(比如pdf)

时间:2016-09-27 04:32:32

标签: java arrays pdf file-io inputstream

从我的Java代码我调用文档服务来根据一些输入参数从中获取文档。文档的mime类型可以是pdf,文本或图像。服务响应采用List<PageContent>的形式,其中每个PageContent都有byte[],代表文档的一页。现在我想为整个文档创建一个输入流。

所以我想要整理所有页面如下:

List<PageContent> pages = ....//Response from the service
ByteArrayOutputStream bos = new ByteArrayOutputStream();
for(PageContent page : pages) {
    byte[] data = page.getData();
    bos.write(data);
}
InputStream is = new ByteArrayInputStream(bos.toByteArray());

我仍然怀疑这是正确的方式。根据mime类型,整理所有页面以形成单个输入流的逻辑是否应该不同?

我需要从文档服务提供商那里获得哪些详细信息才能帮助我这样做?

0 个答案:

没有答案