Java 带有文档的OutputStream问题4J
我正在使用Documents4j将文档转换为PDF/a。我想构建一个函数,用以下代码返回我的文件的Java 带有文档的OutputStream问题4J,java,outputstream,documents4j,Java,Outputstream,Documents4j,我正在使用Documents4j将文档转换为PDF/a。我想构建一个函数,用以下代码返回我的文件的字符串表示形式: String input=...; DocumentType[] docType= {DocumentType.CSV,DocumentType.DOC,DocumentType.MHTML,DocumentType.MS_EXCEL,DocumentType.MS_WORD,DocumentType.ODS,DocumentType.PDF,DocumentTyp
字符串
表示形式:
String input=...;
DocumentType[] docType= {DocumentType.CSV,DocumentType.DOC,DocumentType.MHTML,DocumentType.MS_EXCEL,DocumentType.MS_WORD,DocumentType.ODS,DocumentType.PDF,DocumentType.RTF,DocumentType.TEXT,DocumentType.XML};
IConverter converter = LocalConverter.make();
ByteArrayInputStream in= new ByteArrayInputStream(input.getBytes());
ByteArrayOutputStream out = new ByteArrayOutputStream();
Future<Boolean> conversion = converter.convert(in)
.as(docType[n-1])
.to(out)
.as(DocumentType.PDFA)
.prioritizeWith(1000) // optional
.schedule();
String output=out.toString();
in.close();
out.flush();
out.close();
System.out.println(output);
return(output);
字符串输入=。。。;
DocumentType[]docType={DocumentType.CSV,DocumentType.DOC,DocumentType.MHTML,DocumentType.MS_EXCEL,DocumentType.MS_WORD,DocumentType.ODS,DocumentType.PDF,DocumentType.RTF,DocumentType.TEXT,DocumentType.XML};
IConverter converter=LocalConverter.make();
ByteArrayInputStream in=新的ByteArrayInputStream(input.getBytes());
ByteArrayOutputStream out=新建ByteArrayOutputStream();
未来转换=转换器。转换(in)
.as(docType[n-1])
.到(出)
.as(DocumentType.PDFA)
.prioritywith(1000)//可选
.附表();
字符串输出=out.toString();
in.close();
out.flush();
out.close();
系统输出打印项次(输出);
返回(输出);
但是我的输出是空白的。我想我输入了一个不合适的参数,从而误用了.to()
方法。如果它不是一个ByteArrayOutputStream
,我应该使用哪个OutputStream
?如果除了FileOutputStream
之外没有任何可行的OutputStream
,您知道如何在输出中返回字符串而不在任何时候创建文件吗
提前感谢您的关注和回答。当调用计划
而不是执行
时,作业将在后台运行。你在这里面临着一种竞赛状态
此外,没有充分的理由对字节数组输出流调用toString
;ratheer使用getBytes()