0

我想在创建 pdf 文件后刷新 FileInputStream 实例。

我正在使用动态报告将报告导出为 pdf

我不会发布整个代码。只有重要的部分

JasperReportBuilder report = DynamicReports.report();//a new report
    File path= new File("/home/kunal/Medicam reports/Sale Report");
                String pdfreport = String.valueOf(dateformat.format(date));
                if(!path.exists())
                {
                    path.mkdirs();
                    report.toPdf(new FileOutputStream(path+"/"+pdfreport+".pdf"));

                }
                else
                {
                    report.toPdf(new FileOutputStream(path+"/"+pdfreport+".pdf"));

                }

                File generatedfile = new File("/home/kunal/Medicam reports/Sale Report/"+pdfreport+".pdf");
                if(generatedfile.exists())
                {
                    if(Desktop.isDesktopSupported())
                    {
                        Desktop.getDesktop().open(generatedfile);
                    }
                    else
                    {
                        System.out.println("Not Supported by your desktop");
                    }
                }
                else
                {
                    System.out.println("File does not Exists");
                }

每当我运行上面的代码时,else部分就会被执行为"File does not exists"

该文件已生成,但是当我尝试读取新生成的文件时,generatedfile.exists()条件失败

4

1 回答 1

0

使用report.show()方法,编译成功后立即打开pdf。

于 2015-01-22T04:42:38.573 回答