Dokument mit Standardanwendung öffnen (Java): Unterschied zwischen den Versionen
K (→Ab Java 6) |
K |
||
Zeile 5: | Zeile 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. | 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== | ||
− | < | + | <syntaxhighlight lang="java">Runtime.getRuntime().exec("rundll32 SHELL32.DLL,ShellExec_RunDLL MyFile.pdf");</syntaxhighlight> |
oder | oder | ||
− | < | + | <syntaxhighlight lang="java">Runtime.getRuntime().exec("cmd /c start MyFile.pdf");</syntaxhighlight> |
==MacOS X== | ==MacOS X== | ||
− | < | + | <syntaxhighlight lang="java">Runtime.getRuntime().exec("open MyFile.pdf");</syntaxhighlight> |
==Linux== | ==Linux== | ||
− | < | + | <syntaxhighlight lang="java">Runtime.getRuntime().exec("xdg-open MyFile.pdf");</syntaxhighlight> |
=Ab Java 6= | =Ab Java 6= | ||
Mit Java 6 wurde die Klasse {{JAPI|Desktop}} eingeführt, die nun unter allen Betriebssystemen gleichen Code einsetzt, um Dateien mit der Standardanwendung zu öffnen. | Mit Java 6 wurde die Klasse {{JAPI|Desktop}} eingeführt, die nun unter allen Betriebssystemen gleichen Code einsetzt, um Dateien mit der Standardanwendung zu öffnen. | ||
− | < | + | <syntaxhighlight lang="java">if(Desktop.isSupported) { |
Desktop desk = Desktop.getDesktop(); | Desktop desk = Desktop.getDesktop(); | ||
Zeile 40: | Zeile 40: | ||
− | </ | + | </syntaxhighlight> |
{{Fragen stellen}} | {{Fragen stellen}} |
Version vom 11. März 2018, 14:45 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
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? Lass Dir von uns helfen!
- Besuche uns im Byte-Welt-Forum
- Besuche unseren Chat
Wir helfen dir gerne!
Dir hat dieser Artikel gefallen? Oder Du hast Fehler entdeckt und möchtest zur Berichtigung beitragen? Prima! Schreibe einen Kommentar!
Du musst angemeldet sein, um einen Kommentar abzugeben.