Executer fichier.bat avec java [Résolu]

alias100 129 Messages postés jeudi 30 mars 2006Date d'inscription 2 décembre 2012 Dernière intervention - 15 mai 2007 à 15:57 - Dernière réponse : alias100 129 Messages postés jeudi 30 mars 2006Date d'inscription 2 décembre 2012 Dernière intervention
- 17 mai 2007 à 08:39
Salut,
j'ai realiser un programme qui me permet de lancer un fichier batch et ca marche en local, maintenant j'ai deux machine connecte appartient au meme reseau PC1,PC2 respectivement le premier contient un fichier.bat sous C: et le PC2 contient le programme qui va lancer la commande d'execution de ce fichier
comment je dois modifier mon code pour qu'il s'execute
voici mon code:

import java.io.*;
//
public class Test_runtime {
   
    public static void dumpStream(InputStream in, PrintStream out) throws IOException {
        BufferedReader reader = new BufferedReader(new InputStreamReader(in));
        String line = "";
        try {
            while((line = reader.readLine()) != null) {
                // Traitement du flux de sortie de l'application si besoin est
                System.out.println(line);
            }
        }
        finally {
            reader.close() ;   
        }
    }
 
   
   
    public static void main(String[] args) throws IOException, InterruptedException{
        
        //final Process    P = Runtime.getRuntime().exec(new String[] { "cmd.exe", "/C", "dir" });
    final Process    P = Runtime.getRuntime().exec(new String[] { "test.bat"});
               
        //Thread Erreur
        new Thread() {
            public void run() {
                try {
                    dumpStream(P.getErrorStream(), System.err);
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }
            }.start();
            //Thread Ecriture
            //Consommation de la sortie standard de l'application externe dans un Thread separe
            new Thread() {
                public void run() {
                    //
                    try {
                        dumpStream(P.getInputStream(), System.out);
                    }
                    catch (IOException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                }               
            }.start();
            P.waitFor();
           
    }
}

Merci pour vos aides
Afficher la suite 

Votre réponse

2 réponses

Ombitious_Developper 2333 Messages postés samedi 28 février 2004Date d'inscription 26 juillet 2013 Dernière intervention - 15 mai 2007 à 20:55
+3
Utile
Salut:

Si tu veux exécuter une commande sur une machine distance, tu peux:

- créer un programme client/serveur
- utiliser RMI (Remote Method Invocation)

Le client ou le serveur (le plus important que ce sont deux programmes qui ont une voix de communication) signale l'autre bout de communication de lancer le fichier .bat.
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de Ombitious_Developper
alias100 129 Messages postés jeudi 30 mars 2006Date d'inscription 2 décembre 2012 Dernière intervention - 17 mai 2007 à 08:39
0
Utile
Ce que j'ai compris:
Pour exécuter une application a distance que se soit machine linux ou
windows je dois utiliser des protocoles,
par exemple SSH
puisque il se trouve sur les deux plateformes linux ou
windows

Est-ce que cette idée est juste ou pas ?
Merci pour votre aide
Commenter la réponse de alias100

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.