Rechercher : dans
Par :

[java] Ecriture fichier sous AIX

Dernière réponse le 17 sep 2007 à 15:49:13 kij_82, le 17 sep 2007 à 14:23:04 
 Signaler ce message aux modérateurs

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 :

// --- 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.
~ N'oubliez pas la balise "Résolu" lorsque votre problème est... résolu :) ~
Configuration: Windows XP
Firefox 2.0.0.6

Meilleures réponses pour « [java] Ecriture fichier sous AIX » dans :
[MS-Dos] Ecrire dans un fichier texte en batch VoirPour écrire dans un fichier texte, il suffit d'utiliser une redirection ">" : echo texte_à_ecrire > fichier_de_sortie.txt Pour écrire à la fin d'un texte existant (concaténation) : echo "écriture a la fin du fichier ">>...
Comment lire un fichier ligne par ligne VoirComment lire un fichier ligne par ligne Préambule Boucle while Syntaxe Exemple Astuces Bonus Boucle for Syntaxe Préambule Une des erreurs les plus communes dans l'apprentissage des scripts "bash" sous GNU/LInux pour lire un fichier...
Java - Caractéristiques du langage VoirFichier source, compilation et machine virtuelle Le fichier source d'un programme écrit en Java est un simple fichier texte dont l'extension est par convention .java. Ce fichier source doit être un fichier texte non formatté, c'est-à-dire un...
PHP - Les fichiers VoirLa gestion des fichiers avec PHP Avec PHP, la création ou la lecture de fichiers est, une fois de plus, assez simple. Il existe une multitude de fonctions dédiées à l'utilisation des fichiers. La communication entre le script PHP et le fichier...
Java - Les packages VoirIntroduction aux packages La programmation Java consiste à créer des classes. Or, étant donné qu'un programme est généralement développé par une équipe de programmeurs, c'est-à-dire plusieurs personnes, le fait de concaténer (mettre bout à bout)...

1

Chacual, le 17 sep 2007 à 14:29:08

Qu'est-ce qui t'empêche de le lire ?
Je ne comprends pas exactement le problème !

Répondre à Chacual

2

kij_82, le 17 sep 2007 à 15:14:10

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 :

^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 : 


~ N'oubliez pas la balise "Résolu" lorsque votre problème est... résolu :) ~

Répondre à kij_82

3

Chacual, le 17 sep 2007 à 15:23:46

La locale configurée sur l'AIX utilise-t-elle le charset UTF-8 ?

Répondre à Chacual

4

 kij_82, le 17 sep 2007 à 15:49:13

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 :


// --- 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).

:( ~ N'oubliez pas la balise "Résolu" lorsque votre problème est... résolu :) ~

Répondre à kij_82