Aprire un file con un programma esterno su Java [duplicare]
-
23-08-2019 - |
Domanda
Questa domanda ha già una risposta qui:
Come si apre un file da un'applicazione Java quando non si sa quale applicazione il file è associato. Inoltre, perché sto utilizzando Java, io preferirei una soluzione indipendente dalla piattaforma.
Soluzione
Con JDK1.6, il java.awt.Desktop
classe può essere utile.
public static void open(File document) throws IOException {
Desktop dt = Desktop.getDesktop();
dt.open(document);
}
Altri suggerimenti
File file
Desktop.getDesktop().open( file );
Dal momento che Java 1.6
In precedenza che si potrebbe controllare questa domanda
Sommario
Sarebbe simile a questa:
Runtime.getRuntime().exec( getCommand( file ) );
public String getCommand( String file ){
// Depending on the platform could be
//String.format("gnome-open %s", fileName)
//String.format("open %s", fileName)
//String.format("cmd /c start %s", fileName)
// etc.
}
Si potrebbe incidere qualcosa insieme con un file bat su Windows e equivalente su Unix, ma che non sarebbe così divertente.
Credo che la soluzione migliore sarebbe la JDesktop componenti di integrazione (JDIC) . In particolare, il Desktop classe è esattamente il metodo che si sta cercando.
EDIT: A quanto pare, io sono dietro i tempi, perché questo è stato integrato in Java 1.6. In ogni caso, se si lavora in una precedente Java, può ancora essere utile.