好吧,我用iText制作一个PDF文件,它总是很好的创建。但现在我想将生成的PDF文件设置为对话框,以便用户将其保存到他/她想要的位置。
我想我必须使用showSaveDialog来完成我想要的任务,但我尝试了一些没有任何结果的解决方案,因为我只是将主页文件夹显示为选定文件。
iText工作正常,我只需要一个代码将生成的PDF文件保存到用户想要的地方,并在用户通过对话框保存后从项目文件夹中销毁PDF文件。
这是我现在使用的代码。
JFileChooser elegidor = new JFileChooser();
File f2 = new File("filePDF.pdf");
elegidor.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
elegidor.showSaveDialog(null);
答案 0 :(得分:0)
所有JFileChooser都会显示一个对话框,通过该对话框可以选择File
。没有任何功能可以自动保存/加载任何文件/目录...您必须自己实现,尽管Apache Commons库和FileUtils可能对您有用
答案 1 :(得分:0)
好吧,我找到了解决问题的方法。我选择移动PDF文件,将其作为公共文件进行管理,并且可以正常工作。
JFileChooser elegidor = new JFileChooser();
File originalFile = new File(System.getProperty("user.dir"), "filePDF.pdf");
elegidor.setCurrentDirectory(new File(System.getProperty("user.dir")));
elegidor.setSelectedFile(originalFile);
elegidor.setFileSelectionMode(JFileChooser.FILES_ONLY);
int returnVal = elegidor.showSaveDialog(null);
File destinationFile = null;
if (returnVal == JFileChooser.APPROVE_OPTION) {
destinationFile = new File(elegidor.getSelectedFile().getAbsolutePath());
if (!destinationFile.getAbsolutePath().equals(originalFile.getAbsolutePath())) {
InputStream in = new FileInputStream(originalFile);
OutputStream out = new FileOutputStream(destinationFile);
byte[] buf = new byte[1024];
int len;
while ((len = in.read(buf)) > 0) {
out.write(buf, 0, len);
}
in.close();
out.close();
}
}
if (!destinationFile.getAbsolutePath().equals(originalFile.getAbsolutePath())) {
originalFile.delete();
}