Java 带有文档的OutputStream问题4J

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

我正在使用Documents4j将文档转换为PDF/a。我想构建一个函数,用以下代码返回我的文件的
字符串
表示形式:

    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()