Dokument mit Standardanwendung öffnen (Java)

Aus Byte-Welt Wiki
Zur Navigation springenZur Suche springen

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

<code=java>Runtime.getRuntime().exec("rundll32 SHELL32.DLL,ShellExec_RunDLL MyFile.pdf");</code=java>

oder

<code=java>Runtime.getRuntime().exec("cmd /c start MyFile.pdf");</code=java>

MacOS X

<code=java>Runtime.getRuntime().exec("open MyFile.pdf");</code=java>

Linux

<code=java>Runtime.getRuntime().exec("xdg-open MyFile.pdf");</code=java>

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.

<code=java>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"));

}


</code=java>