2008-12-24 14 views

Antwort

40

Mit JDK1.6 kann die Klasse java.awt.Desktop nützlich sein.

public static void open(File document) throws IOException { 
    Desktop dt = Desktop.getDesktop(); 
    dt.open(document); 
} 
+0

Funktioniert dieses Codeelement auch auf Linux? –

+0

Ja ... aber es ist eine gute Idee, 'Desktop.isDesktopSupported()' oder 'Desktop.isSupported (action)' zuerst aufzurufen, siehe Javadoc. – RealHowTo

2

Sie könnten etwas zusammen mit einer Fledermaus-Datei unter Windows und gleichwertig auf Unix hacken, aber das wäre nicht so lustig.

Ich denke, Ihre beste Wette wäre die JDesktop Integration Components (JDIC). Insbesondere hat die Desktop Klasse genau die Methode, nach der Sie suchen.

EDIT: Anscheinend bin ich hinter den Zeiten, weil dies in Java 1.6 integriert wurde. In jedem Fall, wenn Sie in einem früheren Java arbeiten, kann es immer noch nützlich sein.

+0

Die angegebenen Links sind fehlerhaft. Sie müssen beide beheben. Vielen Dank. –

5
File file 
Desktop.getDesktop().open(file); 

Seit Java 1.6

dem Zurück konnte man check this question

Zusammenfassung

Es würde wie folgt aussehen:

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. 
} 
+0

Ich möchte "xdg-open" (http://portland.freedesktop.org/xdg-utils-1.0/xdg-open.html) für einen besser integrierten Linux-Befehl hinzufügen, der nicht überall verfügbar ist. –

Verwandte Themen