Bonjour,

Dans le cadre d'un projet scolaire je dois réaliser une transfert de fichiers d'un serveur vers un client, le tout en TCP par des sockets.

Mon soucis:
Je cherche à transférer une image .jpg par exemple situé sur le serveur vers mon client. voici la méthode qui s'occupe de transformer le fichier image en chaine de caractères prête à être émise vers le client:

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
 
String line="";
		try {
			InputStreamReader isr=new InputStreamReader(new FileInputStream(path);
			BufferedReader in = new BufferedReader(isr);
			char charCur[] = new char[1];
			while (in.read(charCur, 0, 1) != -1) {
				if (charCur[0] != '\n') {
					line += charCur[0];
				} else {
					line+=Protocol.SEPARATOR;
				}
			}
		} catch (Exception e) {	}
		return line;
A la lecture du fichier j'ai certains caractères qui sont transformé en un point d'interrogation. Cela fausse totalement le fichier reçu. J'ai parcouru le web, ça fait une semaine, le projet est à rendre dans très longtemps donc ça va.

J'ai testé sous un linux pour être sur que ce n'était pas un problème d'encodage mais même erreur.

Si vous souhaitez avoir plus d'informations je suis là pour y répondre, en espérant trouver la raison de cette convention de caractère intempestive, je vous remercie.
++