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 :

Ecrire un fichier en mode DOS


Sujet :

Entrée/Sortie Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 25
    Par défaut Ecrire un fichier en mode DOS
    Bonjour,

    j'essaie desespérément d'écrire un fichier lisible en DOS.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     
    FileOutputStream file = new FileOutputStream("G:/tmp/"+getNomFichier());
    String contenuFichier = "Bienvenue à l'association des nouveaux nés."
    file.write(contenuFichier.getBytes());
    file.flush();
    file.close();
    Il s'avère que les caractères spéciaux "é" et "à" comme beaucoups d'autres ne sont pas conforme une fois le fichierouvert en mode DOS.

    Merci pour votre aide

  2. #2
    Expert éminent
    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
    Billets dans le blog
    1
    Par défaut
    Salut,



    Il faut écrire les fichiers dans l'encodage de ton DOS (cp850 pour les Windows d'Europe de l'est, mais il me semble que cela peut varier) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    		FileOutputStream file = new FileOutputStream(getNomFichier());
    		try {
    			String contenuFichier = "Bienvenue à l'association des nouveaux nés.";
    			file.write(contenuFichier.getBytes("cp850"));
    			file.flush();
    		} finally {
    			file.close();
    		}
    Le plus simple étant alors d'utiliser un Writer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    		Writer file = new OutputStreamWriter(new FileOutputStream(getNomFichier()), "cp850");
    		try {
    			String contenuFichier = "Bienvenue à l'association des nouveaux nés.";
    			file.write(contenuFichier);
    			file.flush();
    		} finally {
    			file.close();
    		}
    a++

    PS : Comme tu le vois, il est préférable d'utiliser des bloc try/finally pour la fermeture des flux

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 25
    Par défaut [resolu]
    Un grand Merci pour ton aide

    Problème résolu

Discussions similaires

  1. Ecrire un fichier en mode asynchrone
    Par sivaller dans le forum Windows
    Réponses: 1
    Dernier message: 03/11/2009, 10h22
  2. Réponses: 4
    Dernier message: 19/04/2005, 12h27
  3. imprimer fichier en mode paysage
    Par Le Veilleur dans le forum C++Builder
    Réponses: 13
    Dernier message: 10/02/2005, 21h38
  4. [Fichier] génération format DOS
    Par Alexr dans le forum Entrée/Sortie
    Réponses: 3
    Dernier message: 13/01/2005, 17h30
  5. Probleme d'ecriture dans un fichier en mode Text
    Par bbozet dans le forum C++Builder
    Réponses: 3
    Dernier message: 14/01/2004, 13h46

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