Bonjour, je réalise une api qui analyse les impressions.
Donc je vous explique rapidement je lis l'entrée standard dans un buffer pour ensuite l'écrire dans un fichier.
Mon problème est que sur les gros fichier (souvent pdf) bha mon api se lance pas il récupère une partie je pense et il plante.
A mon avis cest mon buffer qui ne tient pas le coup(je pense en langage C car je suis un vrai débutant en java).
Je vous montre le code qui a mon avis plante.

Je vous remercie d'avance pour l'aide que vous m'apporterez

Cordialement,
micou

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
 
public final class MyIO 
{
 
	private static final byte[] readInputStream(InputStream is)
			throws FileNotFoundException, IOException{
		StringBuffer sb = new StringBuffer();
		InputStreamReader isr = new InputStreamReader(is);
		BufferedReader bufReader = new BufferedReader(isr);
		while (true){
			String sLine = null;
			sLine = bufReader.readLine();
				if (sLine == null){
					break;
				}
			sb.append(sLine).append("\r\n");
		}
		bufReader.close();
		return sb.toString().getBytes();
	}
 
	public static final byte[] readInputStream(){
		byte[] baRes = null;
		try{
			baRes = readInputStream(System.in);
		}
		catch (FileNotFoundException e){
			e.printStackTrace();
		}
		catch (IOException e){
			e.printStackTrace();
		}
		return baRes;
	}
 
	public static final boolean writeBytes(String sFile, byte[] ba) 
	{
		FileOutputStream out = null;
		try{
			out = new FileOutputStream(sFile);
			out.write(ba, 0, ba.length);
		}
		catch (FileNotFoundException e)	{
			e.printStackTrace();
		}
		catch (IOException e){
			e.printStackTrace();
		}
		finally{
			if (out != null){
				try{
					out.close();
				}
				catch (IOException e){
					e.printStackTrace();
				}
			}
		}
		return true;
	}
}