我有一个签名的小程序,它从 Web 服务中检索 PDF 文档,然后将其存储在临时文件夹中,然后在 Adobe Reader 上打开它。我想避免在本地存储文件,但我真的不知道如何实现它(我是 Java 小程序的新手)。
如果它是一个 Web 应用程序(即一个简单的 servlet),我可以将 PDF 内容写在ServletResponse
; 然后浏览器会将其存储在其临时文件夹中,并使用 Adobe Reader(或与 MIME 类型关联的任何应用程序)打开它。
有没有类似的方法可以做到这一点......在Java小程序上?
到目前为止,这是我的代码:
public class MyListener implements ActionListener {
public void actionPerformed(ActionEvent event) {
// Retrieve the document contents
byte[] content = webService.getPdfDocument(...);
// Write to file
File f = new File("my-document-filename.pdf");
FileOutputStream fos = new FileOutputStream(f);
fos.write(content);
fos.close();
// Open the file
Desktop.getDesktop().open(new File("my-document-filename.pdf"));
}
}
Desktop.open(File)的任何替代方法,允许我通过 abyte[]
而不是 a File
?