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 1.5

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 1.6

Mit Java 1.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"));
}