Dokument mit Standardanwendung öffnen (Java): Unterschied zwischen den Versionen

Aus Byte-Welt Wiki
Die Seite wurde neu angelegt: „In diesem Kurz-Tutorial wird beschrieben, wie man in Java Dokumente und Dateien mit der dafür bestimmten (im System registrierten) Standardanwendung öffnen kann…“
 
KKeine Bearbeitungszusammenfassung
 
(10 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
In diesem Kurz-Tutorial wird beschrieben, wie man in Java Dokumente und Dateien mit der dafür bestimmten (im System registrierten) Standardanwendung öffnen kann.
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 '''Mein-Dokument.pdf''' der Dateiname.
Im Beispiel ist '''MyFile.pdf''' der Dateiname.


=Bis Java 1.5=
=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==
<pre>Runtime.getRuntime().exec("rundll32 SHELL32.DLL,ShellExec_RunDLL pdf_datei.pdf");</pre>
<syntaxhighlight lang="java">Runtime.getRuntime().exec("rundll32 SHELL32.DLL,ShellExec_RunDLL MyFile.pdf");</syntaxhighlight>
 
oder
 
<syntaxhighlight lang="java">Runtime.getRuntime().exec("cmd /c start MyFile.pdf");</syntaxhighlight>


==MacOS X==
==MacOS X==
<pre>Runtime.getRuntime().exec("open pdf_datei.pdf");</pre>
<syntaxhighlight lang="java">Runtime.getRuntime().exec("open MyFile.pdf");</syntaxhighlight>


==Linux==
==Linux==
Fehlt noch...
<syntaxhighlight lang="java">Runtime.getRuntime().exec("xdg-open MyFile.pdf");</syntaxhighlight>
 
=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.
 
<syntaxhighlight lang="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"));
}
 


=Ab Java 1.6=
</syntaxhighlight>
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.


Beispiel fehlt noch...
{{Fragen stellen}}


[[Kategorie:Java]]
[[Kategorie:Tutorials (Java)]]
[[Kategorie:Java-Codeschnipsel]]

Aktuelle Version vom 28. März 2018, 09:05 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.

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.

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

oder

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

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"));
}


Das Thema wurde nicht ausreichend behandelt? Du hast Fragen dazu und brauchst weitere Informationen? Lass Dir von uns helfen!

  • Besuche unseren Chat

Wir helfen dir gerne!