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 :

Appel d'une application externe


Sujet :

Entrée/Sortie Java

  1. #1
    Futur Membre du Club
    Inscrit en
    Mars 2006
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 5
    Points : 6
    Points
    6
    Par défaut Appel d'une application externe
    Bonsoir à tous,

    Voilà je suis face à un problème lors de l'appel à une application externe.

    Mon problème semble venir de ma migration vers vista. En effet, voici le problème :

    Je fais un appel à winrar et récupère les résultats d'MS DOS comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    final Process process = runtime.exec(args);
     
    			for(String tmp : args){
    				System.out.print(tmp+" ");
    			}
    			// Consommation de la sortie standard de l'application externe dans un Thread separe
    			new Thread() {
    				public void run() {
     
    					try {
    						BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
    						String line = "";
    						try {
    							while((line = reader.readLine()) != null) {
    								System.out.println(line);
    								// Traitement du flux de sortie de l'application si besoin est
    							}
    						} finally {
    							reader.close();
    						}
    					} catch(IOException ioe) {
    						ioe.printStackTrace();
    					}
    				}
    			}.start();
    Sous XP je pouvais lire en les résultats, mais là voici le retour après éxécution :
    ഊ剁删㌮㠰†⁃潰祲楧桴
挩‱㤹㌭㈰〸⁁汥硡湤敲⁒潳桡氠†ㄶ⁓数′〰㠍੖敲獩潮⁓桡牥睡牥††††⁐潵爠潢瑥湩爠摥❡楤攬⁴慰敺⁒䅒*㼍਍਍੅硴牡捴楯渠摥灵楳⁄㩜呥浰屉湣潭楮杜愮牡爍਍੔桩猠牥汥慳攠楳⁳桡牥搠批㨠䵥汶楮ㄸഊഊ佷渠獩瑥㨍੷睷⹳桡牥灬慮整⹮氍਍੆潲潲攠杲敡琠牥汥慳敳⁹潵⁣慮⁶楳楴 etc ...

    J'ai vérifié en exécutant exactement la même commande directement sous MS-DOS, et c'est bien du français.

    Il y'a t'il une particularité pour la gestion du flux entre Java et la console MS-DOS sous Windows Vista ?

    Merci pour la lecture

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    1 466
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 466
    Points : 1 610
    Points
    1 610
    Par défaut
    C'est peut être un pb d'encodage de caractères.
    Essaie d'en spécifier via
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    InputStreamReader(InputStream in, String charsetName)

Discussions similaires

  1. [LV2009] Appel d'une application externe ".EXE"
    Par Super2006 dans le forum LabVIEW
    Réponses: 2
    Dernier message: 03/05/2010, 15h13
  2. Appel d'une application externe
    Par samantha2010 dans le forum Windows Forms
    Réponses: 14
    Dernier message: 30/03/2010, 15h11
  3. Réponses: 2
    Dernier message: 23/02/2010, 18h31
  4. appel d'une application externe a jbuilder
    Par gridsof dans le forum JBuilder
    Réponses: 4
    Dernier message: 20/07/2007, 14h29
  5. [API][Système] Appel d'une application externe via java
    Par Tasslekender dans le forum Général Java
    Réponses: 2
    Dernier message: 17/03/2006, 14h13

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