Bonsoir,
Je désire afficher le flux console dans un JTextPane.
Mon souci se situe au niveau de certain caractère qui sont affichés dans le Pane(ex: é).
Pièce jointe 19353
Merci d'avance.
Bonsoir,
Je désire afficher le flux console dans un JTextPane.
Mon souci se situe au niveau de certain caractère qui sont affichés dans le Pane(ex: é).
Pièce jointe 19353
Merci d'avance.
Pourquoi ca marche jamais?Vive le café!
la console de windows est encodée dans un certain charset, celle de linux dans un autre et ainsi de suite.
Donc au niveau de ton inputstream il faut que tu spécifies le bon charset (sous windows je pencherais pour du cp1252 ou quelquechose dans ce style)
++
Hey, this is mine. That's mine. All this is mine. I'm claiming all this as mine. Except that bit. I don't want that bit. But all the rest of this is mine. Hey, this has been a really good day. I've eaten five times, I've slept six times, and I've made a lot of things mine. Tomorrow, I'm gonna see if I can't have sex with something.
Ok merci ça fonctionne.
Pour info:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Runtime rt = Runtime.getRuntime(); p = rt.exec("ping 192.168.1.1"); java.io.BufferedReader br= new java.io.BufferedReader( new InputStreamReader(p.getInputStream(),"CP850"));
Pourquoi ca marche jamais?Vive le café!
Salut,
Pour info ce problème ne se produit que sous Windows à ma connaissance, car par défautles Reader/Writer utilise un encodage dépendant du système et de la locale (propriété "file.encoding")...
Le problème c'est que Windows utilise deux encodages différents car il fait une distinction entre application graphique et application console, par exemple sur les PC d'europe de l'est :
- cp1252 pour les applications graphiques.
- cp850 pour les applications consoles.
Or sous Windows la propriété "file.encoding" vaut "cp1252" et il faut donc spécifier explicitement le charset pour "communiquer" avec une application console (voir pour écrire dans la console "proprement").
A ma connaissance sous tous les autres systèmes il n'y a pas de telle distinction selon le type de programme...
a++
PS : Lorsque tu utilises Runtime.exec(), attention à bien fermer les flux qui ne sont pas traités et à traiter les différents flux dans des threads séparés...
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager