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

Aus Byte-Welt Wiki
Zur Navigation springenZur Suche springen
(Angeblich ist "Mein-Dokument.pdf" der Dateiname. Daher korrigiert.)
K
 
(8 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 Mein-Dokument.pdf");</pre>
+
<syntaxhighlight lang="java">Runtime.getRuntime().exec("rundll32 SHELL32.DLL,ShellExec_RunDLL MyFile.pdf");</syntaxhighlight>
  
 
oder
 
oder
  
<pre>Runtime.getRuntime().exec("cmd /c start Mein-Dokument.pdf");</pre>
+
<syntaxhighlight lang="java">Runtime.getRuntime().exec("cmd /c start MyFile.pdf");</syntaxhighlight>
  
 
==MacOS X==
 
==MacOS X==
<pre>Runtime.getRuntime().exec("open Mein-Dokument.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 1.6=
+
=Ab Java 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.
+
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.
  
Beispiel fehlt noch...
+
<syntaxhighlight lang="java">if(Desktop.isSupported) {
 +
  Desktop desk = Desktop.getDesktop();
  
[[Kategorie:Java]]
+
  //ö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"));
 +
}
 +
 
 +
 
 +
</syntaxhighlight>
 +
 
 +
{{Fragen stellen}}
 +
 
 +
[[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 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!

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.