IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Entrée/Sortie Java Discussion :

écrire un fichier en Unicode


Sujet :

Entrée/Sortie Java

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 34
    Points : 33
    Points
    33
    Par défaut écrire un fichier en Unicode
    Bonjour,
    j'ai besoin de générer des fichiers en format Unicode (UTF-16LE) - voilà ma méthode write().

    Le paramètres sont des chaînes de caractères Unicode et je ne sais pas pourquoi le fichier créé est encodé en ISO-8859-1.
    Quelqu'un sait comment obliger JVM à écrire le fichier en unicode - à garder l'encodage des String.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    public void write(boolean b, String ... texte){
    	try {
    		PrintWriter writer = new PrintWriter(new BufferedWriter(new FileWriter(this,b)));
    		for(String chaine : texte){
    			writer.println(chaine);
    		}
    		writer.close();
    	} catch (IOException e) {
    		e.printStackTrace();
    	}
    	}

  2. #2
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Salut,


    C'est normal car FileWriter utilise le charset par défaut du système, qui doit donc être du ISO-8859-1 dans ton cas...

    Il faut passer par un OutputStreamWriter pour pouvoir spécifier l'encodage, bref il te faut remplacer ceci :
    Par ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    new OutputStreamWriter(new FileOutputStream(this,b), "UTF-16LE")
    a++

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 34
    Points : 33
    Points
    33
    Par défaut
    Merci

    Fonctionne à merveille, je me disais qu'il y avait un truc du genre formatage par defaut.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [VB6] Format de fichier texte Unicode
    Par Sytchev3 dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 07/04/2006, 09h10
  2. lire/écrire un fichier stocké dans le JAR ?
    Par SheikYerbouti dans le forum Entrée/Sortie
    Réponses: 11
    Dernier message: 24/03/2006, 10h37
  3. Réponses: 9
    Dernier message: 05/04/2005, 09h39
  4. Comment écrire un fichier texte au format MS-DOS ?
    Par fredfred dans le forum Langage
    Réponses: 9
    Dernier message: 20/01/2005, 09h00
  5. [DOM] Meilleure facçon de lire et d'écrire un fichier XML
    Par newfsch dans le forum Format d'échange (XML, JSON...)
    Réponses: 8
    Dernier message: 12/05/2004, 10h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo