Bonjour,
j'ai un soucis de conversion de données.
J'ai un web services, qui se connecte lui même via une urlconnection à un autre site pour récupérer un document.
Ce second site renvoie un flux, que je lis
Et je renvoie un flux binaire (byte[]).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 String inputLine; String bigInput=""; dis=new DataInputStream(urlConnection.getInputStream()); while ((inputLine = dis.readLine()) != null) { bigInput=bigInput+inputLine; } dis.close();
Du côté client, je reçois un flux binaire.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 return bigInput.getBytes("utf-8");
Le problème est le suivant.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 fos = new FileOutputStream(new File("C:/test.pdf")); p = new PrintStream( fos ); String temp=new String(result2,"utf-8"); p.print(temp);
D'une part dans les données reçues tous les caractères un peu spéciaux sont remplacés par un ?.
Du coup, impossible le fichier s'ouvre mal (notamment quand il comporte des images)
Quelqu'un aurait une idée? Faut il jouer sur le charset?
merci d'avance
Partager