Dokument mit Standardanwendung öffnen (Java): Unterschied zwischen den Versionen
K (→Bis Java 1.5) |
|||
Zeile 2: | Zeile 2: | ||
Im Beispiel ist '''MyFile.pdf''' der Dateiname. | Im Beispiel ist '''MyFile.pdf''' der Dateiname. | ||
− | =Bis Java | + | =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== | ==Windows== | ||
<code=java>Runtime.getRuntime().exec("rundll32 SHELL32.DLL,ShellExec_RunDLL MyFile.pdf");</code=java> | <code=java>Runtime.getRuntime().exec("rundll32 SHELL32.DLL,ShellExec_RunDLL MyFile.pdf");</code=java> |
Version vom 16. August 2017, 11:37 Uhr
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.
Inhaltsverzeichnis
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>