# bug? datei oeffnen nicht Desktop.open



## MrG (11. Aug 2009)

hallo,

ich versuche immer noch eine lokale html-datei via java.awt.Desktop.browse mit dem standardbrowser zu oeffnen.
das klappt immer noch nicht und ich weis auch noch nicht genau warum.

'habe nun mal probiert eine lokale textdatei mit dem standardeditor via java.awt.Desktop.open zu öffnen. 
Das selbe Problem!

In beiden Fällen existiert die Datei, kann aber nicht geöffnet werden !!!

Als Bspl. der Code für "desktop.open":


```
private void openText(){
		Desktop desktop;
		if (Desktop.isDesktopSupported()) {
			desktop = Desktop.getDesktop();
			if (desktop.isSupported(Desktop.Action.OPEN)) {
				File file = new File(System.getProperty("user.home") + "/test.txt");
				if(file.exists()){
					System.out.println("open local: file exists !!");
					try {
						System.out.println("file.toString() = "+file.toString());
						desktop.open(file);
					} catch (IOException e) {
						e.printStackTrace();
					}
				}else{
					System.out.println("open : file does not exists :-(");
				}
			}
		}
	}
```

Konsolenmeldung:
open local: file exists !!
file.toString() = /home/mrg/test.txt
java.io.IOException: Failed to show URI:file:/home/mrg/test.txt
	at sun.awt.X11.XDesktopPeer.launch(XDesktopPeer.java:75)
	at sun.awt.X11.XDesktopPeer.open(XDesktopPeer.java:43)
	at java.awt.Desktop.open(Desktop.java:254)
	at desktopBrowser.StartDesktopBrowser.openText(StartDesktopBrowser.java:71)
	at desktopBrowser.StartDesktopBrowser.actionPerformed(StartDesktopBrowser.java:57)
...

Ist das ein Java-Bug?
Hat jemand eine Ahnung oder Idee?

Vielen Dank im Voraus!!

Beste Grüße


----------



## Rainer64 (12. Aug 2009)

MrG hat gesagt.:


> java.io.IOException: Failed to show URI:file:/home/mrg/test.txt



Hallo MrG, check doch mal die Leserechte an der Datei (z.B. mit "cat /home/mrg/test.txt" unter UNIX)

Dein Code (mit andererm File  ) läuft bei mir unter unter XP und startet den assoziierten Editor.


----------



## MrG (12. Aug 2009)

Die Leserechte sind da.

Ich habe das nun noch mal mit dem OpenJDK getestet, auch hier klappt es nicht.

Mit folgender Codeänderung klappt es bei mir auch unter WinXP.


```
File file = new File(
   System.getProperty("user.home")+
   System.getProperty("file.separator")+
   "test.txt"
);
```

Also - Hallo Linux-Java Nutzer !!
habt ihr das selbe Problem?



Vielen Dank fuer Tipps und Hinweise!

Beste Grüße


----------



## Rainer64 (13. Aug 2009)

Habe das ganze mal auf Linux (Kubuntu 8.10) mit Java6 von SUN ausprobiert. Da kam das gleiche raus:

open local: file exists !!
file.toString() = /home/rainer/test.txt
java.io.IOException: Failed to show URI:file:/home/rainer/test.txt
	at sun.awt.X11.XDesktopPeer.launch(XDesktopPeer.java:75)
	at sun.awt.X11.XDesktopPeer.open(XDesktopPeer.java:43)
	at java.awt.Desktop.open(Desktop.java:254)
	at Muell.openText(Muell.java:30)
	at Muell.main(Muell.java:18)

Vielleicht hilft dir ja Using the Desktop API in Java SE 6 weiter.

Bei mir ist ja unter Windows der mit *.txt assoziierte Editor erschienen. Aus dem Bauch raus vermute ich, dass bei dem was Java unter einem Desktop bei Linux versteht, es keine Assoziation zu *.txt gibt.


----------

