Je cherche à récupérer le stream d'erreur d'un processus exécuté à partir d'une commande DOS, pour avoir la totalité du message.
Comment m'y prendre ?
Al
regarde les methodes setErr(..) et setOut(..) de la class System
Farid.
Cédric Chabanois
Ce n'est pas si simple que çà parceque si tu ne le lis pas au fur et à mesure, le processus exécuté va se bloquer (enfin attendre en fait) si le message de sortie est trop long (lorsque le buffer est plein)
Tu peux regarder les classes CommandLine.java et CmdLineStreamPumper.java sur : http://svn.collab.net/repos/subclipse/trunk/svnClientAdapter/src/main/org/tigris/subversion/svnclientadapter/commandline/
CmdLineStreamPumper est un thread qui permet de lire au fur et à mesure (cette classe vient de ant)
Dans CommandLine, la partie intéressante est :
Process proc = execProcess(svnArguments); CmdLineStreamPumper outPumper = new CmdLineStreamPumper(proc.getInputStream(),coalesceLines); CmdLineStreamPumper errPumper = new CmdLineStreamPumper(proc.getErrorStream());
Je cherche à récupérer le stream d'erreur d'un processus exécuté à partir d'une commande DOS, pour avoir la totalité du message.
Comment m'y prendre ?
Al
Ce n'est pas si simple que çà parceque si tu ne le lis pas au fur et à
mesure, le processus exécuté va se bloquer (enfin attendre en fait) si
le message de sortie est trop long (lorsque le buffer est plein)
Tu peux regarder les classes CommandLine.java et
CmdLineStreamPumper.java sur :
http://svn.collab.net/repos/subclipse/trunk/svnClientAdapter/src/main/org/tigris/subversion/svnclientadapter/commandline/
CmdLineStreamPumper est un thread qui permet de lire au fur et à mesure
(cette classe vient de ant)
Dans CommandLine, la partie intéressante est :
Process proc = execProcess(svnArguments);
CmdLineStreamPumper outPumper = new
CmdLineStreamPumper(proc.getInputStream(),coalesceLines);
CmdLineStreamPumper errPumper = new
CmdLineStreamPumper(proc.getErrorStream());
Ce n'est pas si simple que çà parceque si tu ne le lis pas au fur et à mesure, le processus exécuté va se bloquer (enfin attendre en fait) si le message de sortie est trop long (lorsque le buffer est plein)
Tu peux regarder les classes CommandLine.java et CmdLineStreamPumper.java sur : http://svn.collab.net/repos/subclipse/trunk/svnClientAdapter/src/main/org/tigris/subversion/svnclientadapter/commandline/
CmdLineStreamPumper est un thread qui permet de lire au fur et à mesure (cette classe vient de ant)
Dans CommandLine, la partie intéressante est :
Process proc = execProcess(svnArguments); CmdLineStreamPumper outPumper = new CmdLineStreamPumper(proc.getInputStream(),coalesceLines); CmdLineStreamPumper errPumper = new CmdLineStreamPumper(proc.getErrorStream());