PDA

View Full Version : [java] Eseguire .exe


bobby1112
17-08-2009, 15:57
public class Esegui {


public static void main(String args[])
{
try{
Runtime rt=Runtime.getRuntime();
Process proc=rt.exec("mytest.exe Prova.txt");
}
catch(Exception e){}
}
}
dove mytest.exe e Prova.txt si trovano nella cartella src del mio progetto

lanciato da cmd questo programma restituisce un risultato su console
da java non succede niente :help:

Darecon
17-08-2009, 18:12
public class Esegui {


public static void main(String args[])
{
try{
Runtime rt=Runtime.getRuntime();
Process proc=rt.exec("mytest.exe Prova.txt");
}
catch(Exception e){}
}
}
dove mytest.exe e Prova.txt si trovano nella cartella src del mio progetto

lanciato da cmd questo programma restituisce un risultato su console
da java non succede niente :help:

public Process exec(String[] cmdarray)
throws IOException


E fare tipo un qualcosa cosi':

process = Runtime.getRuntime().exec("cmd.exe /C mytest.exe Prova.txt");


Non l'ho provato, e' solo un idea.. :)

bobby1112
18-08-2009, 10:43
ciao ho risolto in questo modo
public class Esegui {


public static void main(String args[])
{
try{


Runtime rt=Runtime.getRuntime();
Process pc=rt.exec(new String[] { "cmd", "/C", "start", "cmd","/C","mytest.exe","Prova.txt" });
//PrintWriter pw = new PrintWriter(new OutputStreamWriter(pc.getOutputStream()));
//pw.println("cd..");
//pw.flush();


BufferedReader br = new BufferedReader(new InputStreamReader(pc.getInputStream()));

String linea = br.readLine();
System.out.println("ok"+linea);
while (linea != null) {
System.out.println("ok"+linea);
linea = br.readLine();
}
br.close();



}
catch(Exception e){}
}
}

perņ adesso ho il problema che io vorrei stampare su console il risultato
ottenuto da mytest ma non ci riesco il risultato della String linea č sempre null:help:

bobby1112
18-08-2009, 11:23
ok risolto in questo modo

public class Win32Launcher {


public static void main(String[] args) {


ProcessBuilder pb = new ProcessBuilder("H:/Documents and Settings/Gianluca/Documenti/Workwtp/EseguiExe/mytest.exe","H:/Documents and Settings/Gianluca/Documenti/Workwtp/EseguiExe/Prova.txt");
try {
Process p = (Process)pb.start();
BufferedReader br = new BufferedReader(new InputStreamReader(p.getInputStream()));
String linea = br.readLine();
System.out.println(linea);
while (linea != null) {
linea = br.readLine();
if(linea != null)
System.out.println(linea);
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}