A vrai dire j'utilise BufferedInputStream car je dois modifier une classe existante.
Je reçois dans ce flux un fichier pdf. Ainsi lorsque je récupère le flux et que je souhaite ouvrir ce pdf adobe ne fait rien. (la copie dans byte[] est obligatoire car je dois réutiliser le contenu du flux ultérieurement)
BufferedOutputStream bos = new BufferedOutputStream(outstr);
BufferedInputStream bis = new BufferedInputStream(in);
byte[] tmp = new byte[bis.available()];
bis.read(tmp, 0, bis.available());
bos.write(tmp, 0, bis.available());
à comparaison ce code ci me permettait d'ouvrir le pdf mais je n'avais pas la copie dans le byte[]
BufferedInputStream bis = new BufferedInputStream(in);
BufferedOutputStream bos = new BufferedOutputStream(outstr);
byte[] buff = new byte[length];
int bytesRead;
while(-1 != (bytesRead = bis.read(buff, 0, buff.length))) {
bos.write(buff, 0, bytesRead);
}
Quelqu'un verrait il l'erreur dans le premier code