我使用此代码在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”。我必须创建新文件然后为什么打开一个甚至没有生成的文件?这段代码出了什么问题?
答案 0 :(得分:3)
我不认为“D:\”是android
中的有效文件位置尝试
OutputStream file = new FileOutputStream(newFile(Environment.getExternalStorageDirectory().toString,"test.pdf"));
作为一个额外的信息,如果你正在处理android中的文件系统,因为android是基于unix的路径分隔符'/'而不是'\'。对于Windows来说,'\'分隔符(就我所知)是D:
答案 1 :(得分:0)
此错误是由于您在下面提到的代码行中提供的位置。
OutputStream file = new FileOutputStream(new File("D:\\Test.pdf"));
我认为您的Android文件系统不存在D盘。以下链接可能有所帮助。
How To Create a PDF file in raw in Android
或者您可以使用以下代码。
try { File temp = new File(FILE.getAbsolutePath(),"Test.pdf"); PdfWriter.getInstance(document, new FileOutputStream(temp)); }