Abrir el notepad desde un programa hecho en java
Hola a todos.
Tengo un programa, k cuando genera un tipo de error, da la posibilidad de ver dicho error pinchando en un label, y asi lo ve desde el bloc de notas. Me gustaria que esto funcionara para la mayoria de los sitemas operativos, o al menos para todos los windows, pq he hecho lo siguiente:
void jLabel4_mouseClicked(MouseEvent e) {
try {
String command = "cmd /c notepad.exe error.log";
Process p = java.lang.Runtime.getRuntime().exec(command);
}
catch (IOException ex) {
JOptionPane.showMessageDialog(this,"No se ha podido leer el fichero de error.","Error",JOptionPane.ERROR_MESSAGE);
}
}
Y en xp me funciona, pero por ejemplo en el millenium no funciona.
Gracias
Tengo un programa, k cuando genera un tipo de error, da la posibilidad de ver dicho error pinchando en un label, y asi lo ve desde el bloc de notas. Me gustaria que esto funcionara para la mayoria de los sitemas operativos, o al menos para todos los windows, pq he hecho lo siguiente:
void jLabel4_mouseClicked(MouseEvent e) {
try {
String command = "cmd /c notepad.exe error.log";
Process p = java.lang.Runtime.getRuntime().exec(command);
}
catch (IOException ex) {
JOptionPane.showMessageDialog(this,"No se ha podido leer el fichero de error.","Error",JOptionPane.ERROR_MESSAGE);
}
}
Y en xp me funciona, pero por ejemplo en el millenium no funciona.
Gracias
Eso se debe a que quizas en Me el comando "CMD" no sirve para sacar una ventana de comando, quizás sea "COMMAND", yo tuve que utilizar esto en n caso, para diferenciar, Windows 85, 98, del 2k, utilizao añadiendo "Windows Me" :
private static final String osName = System.getProperty("os.name");
private static String console = (osName.equals("Windows 95") || osName.equals( "Windows 98" )) ?
"command.com" : "cmd";
De todas formas, prueba en tu codigo a hacer simplemente
...
String command = "notepad error.log";
...
sin invocar el cmd, teniendo cuidado de donde tienes el error.log, (ruta absoluta)
deberia funcionar.
:)
espero te haya servido de ayuda.
private static final String osName = System.getProperty("os.name");
private static String console = (osName.equals("Windows 95") || osName.equals( "Windows 98" )) ?
"command.com" : "cmd";
De todas formas, prueba en tu codigo a hacer simplemente
...
String command = "notepad error.log";
...
sin invocar el cmd, teniendo cuidado de donde tienes el error.log, (ruta absoluta)
deberia funcionar.
:)
espero te haya servido de ayuda.