Sat83
Messages postés166Date d'inscriptionmardi 11 novembre 2003StatutMembreDernière intervention13 octobre 2008
-
16 mars 2006 à 13:40
Sat83
Messages postés166Date d'inscriptionmardi 11 novembre 2003StatutMembreDernière intervention13 octobre 2008
-
23 mars 2006 à 12:46
Bonjour!
Voilà, j'ai un probleme avec BufferWriter... Je veut copier un fichier dans un autre (sachant que le fichier source contient des données chiffrées, et donc des caractères speciaux)
voilà mon bout de code:
BufferedReader br = new BufferedReader(new FileReader(fileName));
BufferedWriter os1 = new BufferedWriter(new FileWriter(fileName+".pim1"));
String tmp2 = br.readLine();
String tmp3= new String("[][][][][]");
Je remarque que le probleme vient toujours d'un caractère qui est remplacé par un "?" dans le fichier déstination...
Source: (ouvert avec WordPad)
zÚ-WNV¿Ñ®ÌL.äT3SÉÚ§»
Sortie: (ouvert avec WordPad)
zÚ-WNV¿Ñ?®ÌL.äT3SÉÚ§»
Bon ceçi est une ligne extraite du fichier qui evidamment est beaucoup plus consequant (quelques milliers de lignes)! C'est completement par hazard que j'ai vu ce caractère changé, il y en a peut etre d'autre...
Pourquoi BufferWriter ne fais pas son travail en recopiant simplement le fichier?
Parce que le probleme c'est que forcement lors du dechiffrage du fichier çà me donne nimp!
Si vous avez des solution, où si vous savez pourquoi il y a ce probleme, je suis preneur!
kirua12
Messages postés1155Date d'inscriptionsamedi 17 janvier 2004StatutMembreDernière intervention29 avril 20117 16 mars 2006 à 15:54
Salut,
utilise plutôt BufferedInputStream et BufferedOutputStream, ça ne fait pas de conversion de type.
Les reader et les writer travaillent principalement sur les chaines de caractères (en gros) donc la conversion des valeurs qui ne sont pas ASCII va poser un pb.
Sat83
Messages postés166Date d'inscriptionmardi 11 novembre 2003StatutMembreDernière intervention13 octobre 2008 23 mars 2006 à 12:46
En faite, j'ai un fichier de type TEXTE, que je chiffre partiellement.... Donc je connais les lignes X et Y du fichier source qui doivent etre chiffrés...
Le probleme c'est qu'une fois chiffrée, le nombre de ligne est different, et qu'en plus dans la partie chiffrée il y a les caractères Assci 10 et 13 (CR et NL)...
Donc par defaut j'ai décidé d'ajouter des balises avant et apres la partie chiffrée, et en faisant comme çà çà marche... Donc a defaut de trouvé mieux mon probleme est resolu!
Le probleme c'est qu'en faite le fichier en question comporte 3 parties:
1)partie en clair (du debut a la ligne X)
2)partie chiffrée (de la ligne X à la ligne Y)
3) partie en clair (de la ligne Y à la fin)
Et donc les ReadLine() de BufferedReader m'etaient bien utile pour compté le nombre de ligne (dans une boucle for), alors que les BufferedStream utilise des buffer de bytes et il est donc difficile de compter les lignes... (de lire de la ligne X a la ligne Y par exemple)
Peut etre as tu une autre solution?
Vous n’avez pas trouvé la réponse que vous recherchez ?
kirua12
Messages postés1155Date d'inscriptionsamedi 17 janvier 2004StatutMembreDernière intervention29 avril 20117 23 mars 2006 à 10:04
Connais tu à l'avance l'endroit où est la partie chiffrée (nb de ligne depuis le début du fichier) ? Si oui, on peut trouver une solution, sinon est ce qu'il y a un ou plusieurs caractères qui déterminent le début de la partie chiffrée ?