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

  FORUM HardWare.fr
  Programmation
  Java

  l'échange des données entre une application c++ et application java

 

Sujet(s) à lire :
    - Visual C++
 

 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

l'échange des données entre une application c++ et application java

n°2202959
manel1989
Posté le 15-09-2013 à 06:03:34  profilanswer
 

Salut tout le monde !
 
Je veux obtenir la sortie d"une application C + + à partir d'une applications Java. J'ai  utilisé un  fichier abs.bat pour le faire
 
J'ai utilisé ce code dans bat.:

Code :
  1. start readxmlresou.exe


 
cette ligne decommande ouvre readxmlresou.exe qui est l'exécutable essue de l'application codé dan VS2010C++,cet exécutable setrouve dans mon bureau, cette commande l'exécute aussi, maintenant je veux obtenir le résultat de l'exécutable dans lapplication appelante java, j'ai écrit ce code mais il ne fonctionne pas:

Code :
  1. public Process DoSysCommand(boolean bWait) throws IOException
  2.        {
  3.            Runtime runtime1 = Runtime.getRuntime();
  4.            final Process process = runtime1.getRuntime().exec(new String[]{"C:\\Users\\abdelhalim\\Desktop\\abs.bat", "readxmlresou.exe"}, null, new File("C:\\Users\\abdelhalim\\Desktop\\" ));
  5.            process.getInputStream();
  6.            OutputStream out = null;
  7.            InputStream in= null;
  8.         // Consommation de la sortie standard de l'application externe dans un Thread separe
  9.         new Thread() {
  10.             public void run() {
  11.                 try {
  12.                     BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
  13.                     String line = "";
  14.                     try {
  15.                         while((line = reader.readLine()) != null) {
  16.                             // Traitement du flux de sortie de l'application si besoin est
  17.                            System.out.println("line="+ line);         
  18.                         }
  19.                     } finally {
  20.                         reader.close();
  21.                     }
  22.                 } catch(IOException ioe) {
  23.                     ioe.printStackTrace();
  24.                 }
  25.             }
  26.         }.start();
  27.         // Consommation de la sortie d'erreur de l'application externe dans un Thread separe
  28.         new Thread() {
  29.             public void run() {
  30.                 try {
  31.                     BufferedReader reader = new BufferedReader(new InputStreamReader(process.getErrorStream()));
  32.                     String line = "";
  33.                     try {
  34.                         while((line = reader.readLine()) != null) {
  35.                             // Traitement du flux d'erreur de l'application si besoin est
  36.                         }
  37.                     } finally {
  38.                         reader.close();
  39.                     }
  40.                 } catch(IOException ioe) {
  41.                     ioe.printStackTrace();
  42.                 }
  43.             }
  44.         }.start();
  45.            try
  46.            {
  47.                process.getInputStream();
  48.                if(bWait)
  49.                {
  50.                    process.waitFor();
  51.                }
  52.            }
  53.            catch(InterruptedException e)
  54.            {
  55.                System.err.println(e.getMessage());
  56.            }
  57.            return process;
  58.        }
  59. }


 
ce que je reçois quand je click le bouton dans l'interface graphique en Java est le resultat de l'exécution readxmlresou.exe (la console VS2010 c + + montre la sortie de l'application C + + readxmlresou.exe ) et puis il se bloque là, les 2 applications se bloquent à ce stade, même l'application  C ++ ne se ferme pas????
 
Je vais essayer de le comprendre, donc si vous avez une idée à ce sujet, je suis vraiment très reconnaissante pour votre aide


---------------
when there is a will there is a way
mood
Publicité
Posté le 15-09-2013 à 06:03:34  profilanswer
 


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

  l'échange des données entre une application c++ et application java

 

Sujets relatifs
VBA - Copier données entre deux feuilles et restructurationlancer une application c++ depuis une autre application codé en java
Passage de données sans rafraichir la pageProblème reception données port serie
distribution des données dans une base des donnéesProbleme Application JAVA Connexion DB MySQL (connector/J driver)
Java / Javascript : Quel moteur est utilisé ?JAVA/ J2EE ou PHP ?
Echange de données entre meme application JAVA installer dans deux PC 
Plus de sujets relatifs à : l'échange des données entre une application c++ et application java


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