在我的程序中的某个时刻,我正在用iText创建一个pdf文件。创建此文件,以便人们可以看到它也添加到我的数据库中。它在Eclipse中运行得很好但是当我制作一个可运行的jar时它不起作用。该文件未创建,也未添加到数据库中。我不知道为什么它不能在罐子里工作。
PdfWriter writer = PdfWriter.getInstance(document,
new FileOutputStream(documentName.getName() + ".pdf"));
///////
File file = new File(document.getName() + ".pdf");
有人建议吗?全部
答案 0 :(得分:1)
尝试使用FatJar创建.jar,这会将您正在使用的库添加到创建的.jar
答案 1 :(得分:0)
您正在使用相对文件路径名(?)。因此,如果从Eclipse或Jar运行,您的文件可能会保存在不同的位置(文件夹)中。
您的文件始终保存在System.getProperty(“user.dir”)中。
答案 2 :(得分:0)
试着这样做:
PdfWriter writer = PdfWriter.getInstance(document,
new FileOutputStream("C:\\some_file.pdf"));
并检查c盘上是否存在some_file文件。我相信它会。另外,我不知道文档是什么类型的对象,但它可能包含返回绝对路径的方法。
编辑:
如果你在一个程序中再次使用该文件,我会做不同的事情:
File file = new File(document.getName() + ".pdf");
PdfWriter writer = PdfWriter.getInstance(document,
new FileOutputStream(file));
甚至是
String path = "some/safe/path/maybe/provided/by/user"; // in settings or sth
File file = new File(path+document.getName() + ".pdf");
PdfWriter writer = PdfWriter.getInstance(document,
new FileOutputStream(file));