Bonjour,
J'ai ma classe qui génere un récap sur les différents dossiers et le nombre des pages pdf éxistantes, mais voila une exeption de dépassement qui se déclanche, aidez moi svp.
code
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
 
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
 
import com.itextpdf.text.pdf.PdfReader;
 
 
public class Recap {
 
		public static void main(String[] args) throws IOException {
			String path = "D:\\AttijariGenerator\\fichiers temporaires\\Relevemail";
			String[] ListeD = ls(path);
 
 
			for (int i =0;i<ListeD.length;i++){
				ListeD[i]=path.concat("\\"+ListeD[i]);
				System.out.println(ListeD[i]);
 
			}
 
			for (int i =0;i<ListeD.length;i++){
 
			int k = nbpage(ListeD[i],i);
			PrintWriter	pt = new PrintWriter (new FileWriter ("D:\\AttijariGenerator\\recap.txt",true));
			pt.println(ListeD[i]+"           "+k);
			pt.close();
			}
	}
 
		private static int nbpage(String path , int n) throws IOException {
			String[] R = ls(path);
	    	 for (int i =0;i<R.length;i++){
	    		 R[i]=path.concat("\\"+R[i]);
	    	 }
 
	            List<InputStream> pdfs = new ArrayList<InputStream>();
 
 
	            for (int i =0;i<R.length;i++){
 
	            pdfs.add(new FileInputStream(R[i]));   
	            }
 
	          int nb= Msi(pdfs,  true);
	            System.out.println("fin traitement");
 
	            return nb;
 
 
		}
 
		private static int Msi(List<InputStream> streamOfPDFFiles, 
				boolean b) throws IOException {
 
			     List<InputStream> pdfs = streamOfPDFFiles;
	            List<PdfReader> readers = new ArrayList<PdfReader>();
	            int totalPages = 0;
	            Iterator<InputStream> iteratorPDFs = pdfs.iterator();
 
	            // Create Readers for the pdfs
	            while (iteratorPDFs.hasNext()) {
	                InputStream pdf = iteratorPDFs.next();
	                PdfReader pdfReader = new PdfReader(pdf);
	                readers.add(pdfReader);
	                totalPages += pdfReader.getNumberOfPages();
	            }
			return totalPages;
		}
 
		private static String[] ls(String path) {
			File f=new File(path);
	        String[] liste=f.list();
			return liste;
		}
 
 
}
message console
D:\AttijariGenerator\fichiers temporaires\Relevemail\10page
D:\AttijariGenerator\fichiers temporaires\Relevemail\11page
D:\AttijariGenerator\fichiers temporaires\Relevemail\12page
D:\AttijariGenerator\fichiers temporaires\Relevemail\13page
D:\AttijariGenerator\fichiers temporaires\Relevemail\14page
D:\AttijariGenerator\fichiers temporaires\Relevemail\15page
D:\AttijariGenerator\fichiers temporaires\Relevemail\16page
D:\AttijariGenerator\fichiers temporaires\Relevemail\18page
D:\AttijariGenerator\fichiers temporaires\Relevemail\19page
D:\AttijariGenerator\fichiers temporaires\Relevemail\1page
D:\AttijariGenerator\fichiers temporaires\Relevemail\20page
D:\AttijariGenerator\fichiers temporaires\Relevemail\21page
D:\AttijariGenerator\fichiers temporaires\Relevemail\22page
D:\AttijariGenerator\fichiers temporaires\Relevemail\23page
D:\AttijariGenerator\fichiers temporaires\Relevemail\26page
D:\AttijariGenerator\fichiers temporaires\Relevemail\279page
D:\AttijariGenerator\fichiers temporaires\Relevemail\28page
D:\AttijariGenerator\fichiers temporaires\Relevemail\2page
D:\AttijariGenerator\fichiers temporaires\Relevemail\30page
D:\AttijariGenerator\fichiers temporaires\Relevemail\32page
D:\AttijariGenerator\fichiers temporaires\Relevemail\34page
D:\AttijariGenerator\fichiers temporaires\Relevemail\357page
D:\AttijariGenerator\fichiers temporaires\Relevemail\3page
D:\AttijariGenerator\fichiers temporaires\Relevemail\48page
D:\AttijariGenerator\fichiers temporaires\Relevemail\4page
D:\AttijariGenerator\fichiers temporaires\Relevemail\5page
D:\AttijariGenerator\fichiers temporaires\Relevemail\65page
D:\AttijariGenerator\fichiers temporaires\Relevemail\6page
D:\AttijariGenerator\fichiers temporaires\Relevemail\7page
D:\AttijariGenerator\fichiers temporaires\Relevemail\80page
D:\AttijariGenerator\fichiers temporaires\Relevemail\8page
D:\AttijariGenerator\fichiers temporaires\Relevemail\9page
fin traitement
fin traitement
fin traitement
fin traitement
fin traitement
fin traitement
fin traitement
fin traitement
fin traitement
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
at java.util.Arrays.copyOf(Unknown Source)
at java.io.ByteArrayOutputStream.grow(Unknown Source)
at java.io.ByteArrayOutputStream.ensureCapacity(Unknown Source)
at java.io.ByteArrayOutputStream.write(Unknown Source)
at com.itextpdf.text.io.StreamUtil.inputStreamToArray(StreamUtil.java:74)
at com.itextpdf.text.io.RandomAccessSourceFactory.createSource(RandomAccessSourceFactory.java:146)
at com.itextpdf.text.pdf.PdfReader.<init>(PdfReader.java:350)
at com.itextpdf.text.pdf.PdfReader.<init>(PdfReader.java:370)
at Recap.Msi(Recap.java:71)
at Recap.nbpage(Recap.java:52)
at Recap.main(Recap.java:31)