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 に答える