Buenas,
Tengo un pequeño problema, estoy haciendo un programa que cuando abras el archivo .jar te hace una serie de preguntas, y luego abra el cmd.exe y escriba un comando.
Todo hasta ahi bien, incluso escribe el comando perfectamente. El unico problema, esque la ventana del CMD queda invisible y solo la puedes cerrar atraves del taskmgr.
Entonces mi pregunta es, si una vez escrito este comando en el cmd, la ventana podria APARECER.
try {
Process p = Runtime.getRuntime().exec("ping -t 127.0.0.1");
BufferedReader stdInput = new BufferedReader(new
InputStreamReader(p.getInputStream()));
BufferedReader stdError = new BufferedReader(new
InputStreamReader(p.getErrorStream()));
// read the output from the command
System.out.println("Here is the standard output of the command:\n");
while ((s = stdInput.readLine()) != null) {
System.out.println(s);
}
// read any errors from the attempted command
System.out.println("Here is the standard error of the command (if any):\n");
while ((s = stdError.readLine()) != null) {
System.out.println(s);
}
System.exit(0);
} catch (IOException e) {
System.out.println("exception happened - here's what I know: ");
e.printStackTrace();
System.exit(-1);
}
Porque digamos, que si estoy haciendo un ping -t al localhost hasta que se "muera" me gustaria ver que esta pasando, y no se quedase silencioso.
Gracias :x
Intenta así:
try {
Process p = Runtime.getRuntime().exec("cmd /C ping -t 127.0.0.1");
BufferedReader stdInput = new BufferedReader(new
InputStreamReader(p.getInputStream()));
BufferedReader stdError = new BufferedReader(new
InputStreamReader(p.getErrorStream()));
// read the output from the command
System.out.println("Here is the standard output of the command:\n");
while ((s = stdInput.readLine()) != null) {
System.out.println(s);
}
// read any errors from the attempted command
System.out.println("Here is the standard error of the command (if any):\n");
while ((s = stdError.readLine()) != null) {
System.out.println(s);
}
System.exit(0);
} catch (IOException e) {
System.out.println("exception happened - here's what I know: ");
e.printStackTrace();
System.exit(-1);
}
Pero ten en cuenta esto impide la posibilidad de portabilidad :( aunque se puede arreglar con unos ajustes.
Un saludo!
Cita de: Casidiablo en 30 Noviembre 2007, 15:09 PM
Pero ten en cuenta esto impide la posibilidad de portabilidad :( aunque se puede arreglar con unos ajustes.
Eso se puede arreglar usando las propiedades que te entrega System (os.name)
usando un String al comando a llamar por ejemplo si es windows usas cmd o linux usas bash
y esop un aporte sin gracia
por parte mia :-X :-\ :-[