Dokument mit Standardanwendung öffnen (Java)

Aus Byte-Welt Wiki
Wechseln zu: Navigation, Suche

In diesem Kurz-Tutorial wird beschrieben, wie man in Java Dokumente und Dateien mit der dafür bestimmten (im System registrierten) Standardanwendung öffnen kann. Im Beispiel ist MyFile.pdf der Dateiname.

Bis Java 5

Bis einschließlich Java 5 war die Verwendung von Programmen des Host-Systems nicht einheitlich geregelt. Man musste für alle möglichen Plattformen angepassten Code schreiben.

Windows

Runtime.getRuntime().exec("rundll32 SHELL32.DLL,ShellExec_RunDLL MyFile.pdf");

oder

Runtime.getRuntime().exec("cmd /c start MyFile.pdf");

MacOS X

Runtime.getRuntime().exec("open MyFile.pdf");

Linux

Runtime.getRuntime().exec("xdg-open MyFile.pdf");

Ab Java 6

Mit Java 6 wurde die Klasse Desktop eingeführt, die nun unter allen Betriebssystemen gleichen Code einsetzt, um Dateien mit der Standardanwendung zu öffnen.

if(Desktop.isSupported) {
   Desktop desk = Desktop.getDesktop();
 
   //öffnet die PDF-Datei im dafür im System vorhandenen Standard-Programm für PDF-Dateien
   desk.open(new File("MyFile.pdf"));
 
   //öffnet die Datei Text.odt im passenden Standard-Programm
   desk.edit(new File("Text.odt"));
 
   //öffnet eine URL im Standard-Webbrowser
   desk.browse(new URL("http://www.byte-welt.net").toURI());
 
   //öffnet das Standard-Mail-Programm
   desk.mail();
 
   //druckt auf einem am System angeschlossenen Drucker
   desk.print(new File("Text.odt"));
}


Fragen

Das Thema wurde nicht ausreichend behandelt? Du hast Fragen dazu und brauchst weitere Informationen? Dann hole dir deine Antworten jetzt im Byte-Welt-Forum