Wie öffne ich eine Datei von einer Java-Anwendung, wenn Sie nicht wissen, welche Anwendung die Datei zugeordnet ist. Da ich Java verwende, würde ich eine plattformunabhängige Lösung bevorzugen.Öffnen Sie eine Datei mit einer externen Anwendung auf Java
Antwort
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);
}
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.
Die angegebenen Links sind fehlerhaft. Sie müssen beide beheben. Vielen Dank. –
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.
}
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. –
- 1. Text-Tagging und Looping-Datei mit externen Anwendung zu öffnen
- 2. Öffnen Sie eine Datei mit einer Variablen
- 3. Scripting java: importieren Sie eine Klasse aus einer externen Datei
- 4. Öffnen Sie eine PDF-Datei aus einer WinJS-Anwendung
- 5. Protokollierung von einer externen Anwendung
- 6. Starten Sie eine Java-Anwendung von einer anderen Java-Anwendung
- 7. Java-Datei - Öffnen Sie eine Datei und schreiben Sie daran
- 8. Öffnen Sie eine Anwendung .exe-Fenster in einer anderen Anwendung
- 9. Öffnen Sie die Befehlszeile von Java-Anwendung
- 10. Java-Anwendung, die alle externen Dateien unterstützt
- 11. Öffnen Sie eine binäre Datei
- 12. Öffnen Sie eine Datei im Ordner der Anwendung
- 13. Öffnen Sie die Datenbank einer anderen Anwendung?
- 14. So öffnen Sie eine Android-Anwendung
- 15. Return-Funktion auf einer externen PHP-Datei
- 16. Wie kann ich eine HTML-Datei im Standardbrowser von einer Java Swing-Anwendung aus öffnen?
- 17. Öffnen einer PDF-Datei aus einer WPF-Anwendung
- 18. Öffnen Sie eine bestimmte Seite einer PDF-Datei mit cis
- 19. Öffnen einer Datei in meiner Anwendung von Datei-Explorer
- 20. Wie rufe eine Funktion in einer externen .js-Datei auf?
- 21. Öffnen Sie eine beliebige Datei mit VBScript
- 22. Plattformübergreifende Möglichkeit zum Öffnen einer Datei mit Java 1.5
- 23. Doppelklicken Sie auf eine Dokumentdatei in Mac OS X, um die Java-Anwendung zu öffnen.
- 24. Öffnen Sie eine GUI-Datei aus einer anderen Datei PyQT
- 25. Starten einer externen Anwendung über meine App
- 26. Öffnen Sie die Datei mit der zugehörigen Anwendung
- 27. Öffnen Sie HTML-Datei in meiner Anwendung mit WebView
- 28. Öffnen Sie eine URL von iPhone-Anwendung
- 29. Öffnen Sie mit Dialog in Java
- 30. Öffnen einer kürzlich geschriebenen Datei mit Intents
Funktioniert dieses Codeelement auch auf Linux? –
Ja ... aber es ist eine gute Idee, 'Desktop.isDesktopSupported()' oder 'Desktop.isSupported (action)' zuerst aufzurufen, siehe Javadoc. – RealHowTo