[java] Ecriture fichier sous AIX
kij_82
Messages postés
4260
Statut
Contributeur
-
kij_82 Messages postés 4260 Statut Contributeur -
kij_82 Messages postés 4260 Statut Contributeur -
Bonjour,
J'ai un petit soucis pour écrire dans un fichier de rapport en JAVA.
Pour ce qui est d'écrire dans le fichier, je n'ai aucun pb, voici la partie de mon code pour que vous puissiez voir la partie "technique" :
La partie qui permet d'ouvrir le fichier en écriture :
La partie qui permet d'écrire dans le fichier ouvert :
Mon problème est le suivant : sur Window ca écrit impéccable en "mode texte" (UTF-8), par contre sous AIX, le fichier de rapport semble s'écrire en mode Binaire... et devient pour le coup illisible.
J'ai beau reprendre du code d'un autre projet qui fonctionne de la même manière et dont les fichiers de rapport sont lisible (fontionne également sous AIX), ca ne marche pas pour autant.
J'ai essayé avec un simple RandomAccessFile et sa méthode "writeBytes" -> mêmes résultats (lisible sous window mais pas sous AIX).
Je voulais savoir si quelqun avait déjà eu le même genre de problème et s'il pouvait éventuellement me donner un coup de pouce :)
Merci.
J'ai un petit soucis pour écrire dans un fichier de rapport en JAVA.
Pour ce qui est d'écrire dans le fichier, je n'ai aucun pb, voici la partie de mon code pour que vous puissiez voir la partie "technique" :
La partie qui permet d'ouvrir le fichier en écriture :
// --- Ouverture du fichier : output = new BufferedOutputStream(new FileOutputStream(getFilePath()) ); // --- Definition du buffer d'écriture setWriter(new BufferedWriter(new OutputStreamWriter(output, "UTF-8")));
La partie qui permet d'écrire dans le fichier ouvert :
// --- Write string in UTF-8 encoding getWriter().write(theBuffer.toString());
Mon problème est le suivant : sur Window ca écrit impéccable en "mode texte" (UTF-8), par contre sous AIX, le fichier de rapport semble s'écrire en mode Binaire... et devient pour le coup illisible.
J'ai beau reprendre du code d'un autre projet qui fonctionne de la même manière et dont les fichiers de rapport sont lisible (fontionne également sous AIX), ca ne marche pas pour autant.
J'ai essayé avec un simple RandomAccessFile et sa méthode "writeBytes" -> mêmes résultats (lisible sous window mais pas sous AIX).
Je voulais savoir si quelqun avait déjà eu le même genre de problème et s'il pouvait éventuellement me donner un coup de pouce :)
Merci.
A voir également:
- [java] Ecriture fichier sous AIX
- Jeux java itel - Télécharger - Jeux vidéo
- Waptrick java football - Télécharger - Jeux vidéo
- Fichier bin - Guide
- Fichier epub - Guide
- Fichier rar - Guide
4 réponses
Lorsque j'ouvre le fichier via la commande VI sous mon serveur AIX, je vois le fichier ne mode binaire. De même, lorsque ce fichier de rapport en envoyé par mail suite à l'arrêt de mon prog java, le fichier joint dans le mail est écrit dans un format illisible (binaire j'imagine donc)
Voilà la tête de mon fichier écrit :
Au lieu d'avoir :
Voilà la tête de mon fichier écrit :
^43?>^74^72?%^20^52^65^70?^72^74^2C^20+&<^20^58(<^20^66?^72_/^74^74^69>^67^20^72^65^70?^72^74^20^31^D^G^30^39^G^V^30^30^D^2 0^31^33^3A^30^35^2C^20>>>^0A^E^E^E^E^E^E^E^E^E^E^E^E^E^E^E^E^E^E^E^E^E^E^E^E^E^E^E^E^E^E^E^E^E^E^E^E^E^E^E^E^E^E^E^E^E^E^E^ E^E^E^E^E^E^E^E^E^E^E^E^E^E^E^E^E^E
Au lieu d'avoir :
Control Report, XXX report 17/09/2007 10:40, nnn ------------------------------------------------------------------------ Input file : File origin : XXXXXXXX File name : XXXXXXXXX ------------------------------------------------------------------------ Total number of : XXX document read 0 XXX document written 0 ------------------------------------------------------------------------ Probable error report : Fatal error label : Fatal error location :
Aucune idée, quel commande permet de le savoir ?
Je me permet de rajouter le fait que ce que je chercher à savoir n'est pas pourquoi VI ne lit pas correctement, mais pourquoi ca écrit n'importe quoi dans mon fichier (puisque meme apres un envoi par mail et une lecture sous windows je n'arrive pas à le lire correctement)
Au départ j'ai fait avec un RamdomAccessFile :
En passant par :
Ca ne fonctionne pas non plus (toujours écrit en binaire), alors qu'avec ces mêmes bout de code j'arrive à écrire un fichier XML et à le lire correctement sous VI (donc il est bien écrit).
:(
Je me permet de rajouter le fait que ce que je chercher à savoir n'est pas pourquoi VI ne lit pas correctement, mais pourquoi ca écrit n'importe quoi dans mon fichier (puisque meme apres un envoi par mail et une lecture sous windows je n'arrive pas à le lire correctement)
Au départ j'ai fait avec un RamdomAccessFile :
En passant par :
// --- Ouverture fichier :
setWriter( new RandomAccessFile('nom_du_fichier'), "rw"));
// --- Ecriture dans fichier
getWriter().writeBytes('toto');
Ca ne fonctionne pas non plus (toujours écrit en binaire), alors qu'avec ces mêmes bout de code j'arrive à écrire un fichier XML et à le lire correctement sous VI (donc il est bien écrit).
:(