Essk écrire ds 1 fichier change le format ?

Fermé
karine - 28 avril 2005 à 16:40
Luffy =) Messages postés 365 Date d'inscription mercredi 20 avril 2005 Statut Membre Dernière intervention 19 mai 2006 - 29 avril 2005 à 10:29
Bonjour,

Voila mon probleme :
Quand j'envoie un flux de données à un client Web, la page Web s'affiche normalement.

Si je mets ce flux dans un fichier et que j'envoie par la suite ce que contient le fichier au client, la page s'affiche mal.

Est-ce que quelqu'un sait si le fait d'écrire/lire dans un fichier modifie le format des données ou un truc de ce genre ?

Merci
A voir également:

11 réponses

Luffy =) Messages postés 365 Date d'inscription mercredi 20 avril 2005 Statut Membre Dernière intervention 19 mai 2006 110
28 avril 2005 à 16:43
Ben normalement ça ne devrait pas, ce ne sont que des caractères. c'est quand même bizarre ton truc...

Au fait, j'ai pas tout suivi dans ton histoire de routeur, ptêt que tu t'es déjà justifiée, mais pourquoi as-tu besoin d'écrire dans un fichier avant de l'envoyer ?
0
Pour l'instant ça ne sert à rien mais après je vais faire un traitement sur le texte (du matchage) et il faut donc que ça soit dans un fichier.

En fait je lis octet par octet le flux que je mets dans le fichier et pareil pour la lecture (octet par octet).

Il doit pourtant bien y avoir quelque chose de changé puisque sans passer par le fichier, les pages sont Web s'affichent bien.

Qu'est-ce que ça pourrait etre ?
0
Luffy =) Messages postés 365 Date d'inscription mercredi 20 avril 2005 Statut Membre Dernière intervention 19 mai 2006 110
28 avril 2005 à 16:50
euh... du matchage, c'est quoi ?
0
Je voulais dire que je fais un match, je cherche une chaine de caractere dans le fichier.

exemple :
String regex = "bon";
Pattern p = Pattern.compile(regex);
Matcher m = p.matcher("un bon sandwich");

je cherche "bon" dans "un bon sandwich";
0
Luffy =) Messages postés 365 Date d'inscription mercredi 20 avril 2005 Statut Membre Dernière intervention 19 mai 2006 110
28 avril 2005 à 16:58
oki :-)

ceci dit, ça me donne faim ton sandwich...
0
kij_82 Messages postés 4089 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 857 > Luffy =) Messages postés 365 Date d'inscription mercredi 20 avril 2005 Statut Membre Dernière intervention 19 mai 2006
28 avril 2005 à 17:06
Ben pour moi ce sera un Parisien ;)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
kij_82 Messages postés 4089 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 857
28 avril 2005 à 17:28
peut etre un simple :
<?php

$val = "chaine_a_trouver";
$var = "dans cette chaine, touver la chaine_a_trouver est facile";
 if( ereg($val, $var, $tab ) )
   echo "c bon la chaine est trouvée<BR>";
else
  echo "chaine non trouvée";

?>


peut aller pour ce que tu a a faire ?

++
0
Luffy =) Messages postés 365 Date d'inscription mercredi 20 avril 2005 Statut Membre Dernière intervention 19 mai 2006 110
28 avril 2005 à 17:31
Peut-être... mais je crois que notre amie Karine code en java.

donc..... Traduction !

PS : le parisien, tu l'auras qu'en journal !!!
0
kij_82 Messages postés 4089 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 857
28 avril 2005 à 17:36
j'me disais aussi que ca resseblais pas à du PHP...

En java, l'équivalent est ...
















tintintin...

















... je ne sais pas mais je vais chercher. A froid la je dirais que c'est presque la même chose en fait.
0
kij_82 Messages postés 4089 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 857
28 avril 2005 à 17:45
Et ceci, est ce que ca marche ?
String chaine = " blabla coucou je suis la ";
$a_trouver = "coucou";
if( chaine.matches($a_trouver) )
  System.out.println("chaine trouvée");
else
  System.out.println("Chaine non trouvée");
0
J'ai peut-être pas bien compris mais ce n'est pas l'algorithme de matchage (vraiment joli mot ^^) qui pose problème.
Si les caractères dans le fichiers ne sont pas bon le problème se siterait plutot au niveau de la copie.
Tu utilises quoi pour faire la copie octet par octet?

Quand tu affiches le fichier a la fin quels sont les changements?
0
Salut !

Je vous donne le code quand je lis et quand j'écris dans le fichier :
PrintStream sout = new PrintStream(client.getOutputStream());
InputStream entrant = socket.getInputStream();
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("monFichier.txt"));
System.out.println("Lecture de la réponse du serveur ...");
		
byte [] buffer = new byte[4096];
int lus;
String ligne = "";
			
// on lit byte par byte la réponse du serveur Web et on la met dans monFichier.txt
while ((lus = entrant.read(buffer)) != -1) {	
			
bos.write(buffer, 0, lus);
}
		
bos.close();


//lecture du fichier
FileInputStream lire = new FileInputStream ("monFichier.txt");
		
int octet;
byte [] buffer2 = new byte[4096];
String resultat = "";
		
while ((octet = lire.read(buffer2)) != -1) {
		
sout.write(buffer2,0,octet);
			
}
		
		
lire.close();


Le résultat, c'est que les pages Web ne s'affichent pas correctement. Alors que si j'envoie la réponse du serveur sans passer par un fichier, ça passe nickel.

Des fois j'ai vu qu'il y avait un 0 rajouté à la fin du code, est-ce que ça pourrait venir de là ?

Autre question : est-ce que je peux matcher directement le flux ?

Merci
0
Luffy =) Messages postés 365 Date d'inscription mercredi 20 avril 2005 Statut Membre Dernière intervention 19 mai 2006 110
29 avril 2005 à 10:29
Pour le 0, il est utilisé pour indiqué la fin d'une chaine de caractères. Mais attention, ce n'est pas le "0", mais 0.
exemple dans ta chaine tu as :
1 2 3 4 5 6 7 8 (numéro d'octet)
o p o p 0 o p !

eh bien si tu l'affiches ou tu l'écris dans un fichier, ce ne sera que "opop".
Donc je ne pense pas que ton problème vienne de là.
0