2015-01-21 2 views
0

Я хочу очистить экземпляр FileInputStream сразу после создания файла PDF.Как открыть PDF-файл сразу после его создания?

Я использую динамические отчеты экспортировать отчет в формате 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"); 
       } 

Всякий раз, когда я запускаю приведенный выше код части иначе запускается на выполнение, как "File does not exists"

Файл создается, но когда я пытаюсь читать вновь сгенерированный файл условие generatedfile.exists() терпит неудачу

ответ

0

используйте метод report.show(), он сразу же открывает PDF-файл после успешной компиляции.

Смежные вопросы