Bonjour,

je cherche à comprendre la notion de tampon utilisé par les classes FileInputStream et BufferedInputStream.

En effet, la classe FileInputStream propose une surchage de la méthode read() qui permet de prendre en compte la taille d'un tampon :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
in = new FileInputStream(this.inFileName);	
 
 byte[] byteBuffer = new byte[bufferSizeB];   	
 int c = in.read(byteBuffer);	  
 while (c != -1) { out.write(byteBuffer, 0, c);  c = in.read(byteBuffer); }
A côté de cela, un constructeur de la classe BufferedInputStream(InputStream in, int size) prends aussi en charge un tampon. Es-ce le même que celui de la méthode read() ? Sinon, quelle différence entre les deux ?

Enfin, on peut encapsuler un FileInputStream dans un BufferedInputStream.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
bin = new BufferedInputStream(new FileInputStream(this.inFileName), sizeBuffer);
Quels rôles jouent alors le(s?) tampons (?) Peut-être qu'une réponse aux questions précédente résolvera celle-ci !

Merci de vos lumières