J'utilise InputStreamReader pour transférer des images compressées. InflaterInputStream est utilisé pour la décompression des imagesJava InputStreamReader & UTF-8 jeu de caractères
InputStreamReader infis =
new InputStreamReader(
new InflaterInputStream(download.getInputStream()), "UTF8");
do {
buffer.append(" ");
buffer.append(infis.read());
} while((byte)buffer.charAt(buffer.length()-1) != -1);
Mais tous les caractères non latins deviennent "?" et l'image est brisée http://s019.radikal.ru/i602/1205/7c/9df90800fba5.gif
Avec le transfert d'images non compressées j'utiliser BufferedReader et tout fonctionne bien
BufferedReader is =
new BufferedReader(
new InputStreamReader(download.getInputStream()));
Les fichiers image sont généralement binaires, pourquoi les convertissez-vous en caractères? –
Où puis-je les convertir? read() me donne les données incorrectes (octets 65533) – Dmitriy
Il semble que vous les convertissiez quand vous dites 'buffer.append (" ")' – kentcdodds