-1

我正在使用此代码在 android 中生成 pdf 文件,但它给了我“找不到文件异常”

            try {
    OutputStream file = new FileOutputStream(new File("D:\\Test.pdf"));

    Document document = new Document();
 //   PdfWriter.getInstance(document, new FileOutputStream(FILE));
    PdfWriter.getInstance(document, file);
    document.open();
    addMetaData(document);
    addTitlePage(document);
    addContent(document);
    //createImage();
    document.close();

} catch (Exception e) {
    e.printStackTrace();
}

当我执行这一行时:

    PdfWriter.getInstance(document, file);

它说“Java.io.FileNotFOundException”。我必须创建新文件,为什么它打开一个甚至还没有生成的文件?这段代码有什么问题?

4

2 回答 2

3

我不认为“D:\”是android中的有效文件位置

尝试

OutputStream file = new FileOutputStream(newFile(Environment.getExternalStorageDirectory().toString,"test.pdf"));

作为将来如果您在android中处理文件系统的一些额外信息,因为android是基于unix的,路径分隔符是'/'而不是'\'。'\' 分隔符(据我所知)是 Windows 独有的东西D:

于 2013-09-03T12:31:35.313 回答
0

此错误是由于您在下面提到的代码行中提供的位置。

    OutputStream file = new FileOutputStream(new File("D:\\Test.pdf"));

我认为您的 android 文件系统不存在 D 驱动器。下面的链接可能会有所帮助。

如何在 Android 中以 raw 格式创建 PDF 文件

或者你可以使用下面的代码。

    尝试 {
                 文件 temp = new File(FILE.getAbsolutePath(),"Test.pdf");   
                  PdfWriter.getInstance(document, new FileOutputStream(temp));
    }

于 2013-09-03T12:38:31.063 回答