在jar中创建文件

时间:2012-06-04 08:04:22

标签: java jar pdf-generation

在我的程序中的某个时刻,我正在用iText创建一个pdf文件。创建此文件,以便人们可以看到它也添加到我的数据库中。它在Eclipse中运行得很好但是当我制作一个可运行的jar时它不起作用。该文件未创建,也未添加到数据库中。我不知道为什么它不能在罐子里工作。

        PdfWriter writer = PdfWriter.getInstance(document,
                new FileOutputStream(documentName.getName() + ".pdf"));

///////

        File file = new File(document.getName() + ".pdf");

有人建议吗?全部

3 个答案:

答案 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));