Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
919 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  [Java] Pb avec un PrintWriter.print() ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Java] Pb avec un PrintWriter.print() ?

n°1081726
Ipso
Posté le 13-05-2005 à 06:30:04  profilanswer
 

Bonjour,
 
J'utilise deux méthodes en remplacement de System.out.print() et System.out.println() pour pouvoir afficher correctement les accents dans une console dos/windows. Voilà le code:

Code :
  1. static String codepage = "CP850";
  2.    
  3.     public static void print(String texte)
  4.     {
  5.         try
  6.         {
  7.             PrintWriter outWriter = new PrintWriter(new OutputStreamWriter(System.out, Charset.forName(codepage)), true);
  8.             outWriter.print(texte);
  9.         }
  10.         catch (Exception e)
  11.         {
  12.             e.printStackTrace();
  13.         }
  14.     }
  15.    
  16.     public static void println(String texte)
  17.     {
  18.         try
  19.         {
  20.             PrintWriter outWriter = new PrintWriter(new OutputStreamWriter(System.out, Charset.forName(codepage)), true);
  21.             outWriter.println(texte);
  22.         }
  23.         catch (Exception e)
  24.         {
  25.             e.printStackTrace();
  26.         }
  27.     }


Mon PrintWriter n'a pas l'air d'aimer le print(texte): println affiche ce qu'il faut, mais print n'affiche rien, quelque soit la chaine (avec accents ou pas).
 
Je ne vois pas pourquoi un print ne marcherait pas si un println marche, mais je suis trèèèèèès loin d'être expert en java aussi :whistle: donc si quelqu'un a une solution ou un indice à me donner... merdi d'avance :)

mood
Publicité
Posté le 13-05-2005 à 06:30:04  profilanswer
 

n°1081728
Ipso
Posté le 13-05-2005 à 07:02:07  profilanswer
 

Euh je me réponds à moi-même, ça marche avec ça:

Code :
  1. PrintWriter outWriter = new PrintWriter(new OutputStreamWriter(System.out, Charset.forName(codepage)));
  2. outWriter.print(texte);
  3. outWriter.flush();


Quelqu'un peut m'expliquer la nécessité du flush après un print? Le print écrit le texte dans un buffer, et le flush vide ensuite le contenu du buffer dans System.out c'est ça? (pas taper :sweat:)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  [Java] Pb avec un PrintWriter.print() ?

 

Sujets relatifs
petit probleme javaproblème applet java.io.IOException: open HTTP connection failed
Connection d'un programme Java avec base de données ACCESSJava Zoom Recuperer les valeurs de scale
[Java] jouer plusieurs sons en mm temps[Java + Eclipse] Liaison de la doc java dans eclipse
[JAVA] petite explication sur le chargement d'un fichier audio[java | regex]récuperer un sous groupe
[JAVA] Empecher le doubl-click sur un JTree[Java] Obtenir la liste des sessions d'un serveur J2EE
Plus de sujets relatifs à : [Java] Pb avec un PrintWriter.print() ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR