/*PDFMergerUtility mergerUtility = new PDFMergerUtility();*/


 while(rs.next())
    {


        PDFMergerUtility mergerUtility = new PDFMergerUtility();

        try
           {
            in=resultset.getBinaryStream(1);
            mergerUtility.addSource(in);
            mergerUtility.setDestinationStream(bos);
            mergerUtility.mergeDocuments();

           }

    catch (Exception e) 
       { 

       }
        bos.reset();
       /*How to reset/clear mergeutility object?*/
   }

Если экземпляр не создается, PDFMergerUtility mergerUtility = new PDFMergerUtility (); внутри цикла while выдает ошибку конца файла .. Как повторно использовать его без объявления в цикле while?

0
Ashish Kataria 11 Дек 2012 в 14:51
Я не знаю, понял ли я, но вы пытались объявить вне цикла while и инициализировать его внутри цикла?
 – 
Averroes
11 Дек 2012 в 14:55
@Averroes: Под инициализацией вы подразумеваете создание экземпляра внутри цикла?
 – 
Ashish Kataria
11 Дек 2012 в 15:02
Что-то вроде этого. PDFMergerUtility mergerUtility = null; while(rs.next()) { mergerUtility = new PDFMergerUtility(); ...
 – 
Averroes
11 Дек 2012 в 15:11
@Averroes: mergerUtility = новый PDFMergerUtility (); также означает воссоздание нового экземпляра каждый раз в цикле.
 – 
Ashish Kataria
11 Дек 2012 в 15:15
В документации я не нашел способа очистить / сбросить PDFMergerUtility. В чем проблема с созданием нового экземпляра?
 – 
Averroes
11 Дек 2012 в 17:20

1 ответ

Лучший ответ

В вашем коде вы не объединяетесь. Чтобы исправить, код будет таким

    PDFMergerUtility mergerUtility = new PDFMergerUtility();
    try  {
        while(rs.next())    {      
            in=resultset.getBinaryStream(1);
            mergerUtility.addSource(in);

        }       
        mergerUtility.setDestinationStream(bos);
        mergerUtility.mergeDocuments();

        bos.close();

   }
   catch (Exception e) { 

   }
0
Sengottuvel Rajagounder 23 Янв 2013 в 00:27