# datei öffnen



## RawBit (2. Okt 2006)

hallo ich möchte eine datei öffnen, aber nicht mit nem fileinputstream oder so oder buffered reader sondern mit dem programm mit dem die datei geöffnet werden würde wnen man sie halt von "hand" öffnet

mit Runtime.getRuntime().exec(path); wird das ja wohl kaum gehen..

wie geht das?


----------



## Leroy42 (2. Okt 2006)

Doch! Genauso geht es (unter Windoof), solange das gewünschte Programm
mit der Endung der Datei verknüpft ist.


----------



## The_S (2. Okt 2006)

Haste aber n Prob wenns Plattformunabhängig bleiben soll. Das kannste so nämlich vergessen.


----------



## RawBit (2. Okt 2006)

naja es soll nicht nur ne programme sondern auch dateien öffnen... und wenn ich zB ein bild (png) öffnen will kommt ne ioexception

ich dachte mir schon dass das nich geht


----------



## The_S (2. Okt 2006)

Du solltest natürlich vor deinem Pfad noch ein "cmd /c " setzen ...


----------



## thE_29 (2. Okt 2006)

Jo, das cmd /c vergißt fast jeder 

Aber dann sollte es gehen


----------



## EOB (2. Okt 2006)

aber auch nicht unter jedem windows! von linux oder mac ganz zu schweigen...hab das mal machen muessen und hab dann die mime lib vom browser genommen. unter mac gibts da das _open_ kommando. 

gruesse


----------



## RawBit (2. Okt 2006)

na super ^^

(das hört sich ja blöd an wenn ICH das sage,a ber mein programm soll schon plattform unabhängig sein )


----------



## The_S (2. Okt 2006)

Das dürfte dann ne ganze Ecke (ungefähr ne Ecke, mit der man um die chinesische Mauer gehen kann ^^ ) schwerer werden. Wenn de das geschafft hast gibst bescheid, bin dadran auch interessiert :lol:


----------



## RawBit (2. Okt 2006)

jaa hehe


```
String osname=System.getProperty("os.name");
if(osname.compareTo("Windows") >0)
  Runtime.getRuntime.exec("cmd /c "+path);
else if(osname.copareTo("Macintosh") >0) // Ich glaub halt dass das Macintosh heisst :P
  Runtime.getRuntime().exec("open "+path")
```

soo und dann noch bitte einen linux user der mir sagt wie edr befehl da heisst


----------



## EOB (2. Okt 2006)

da gibts keinen solchen pfad..das isses ja. da kannste nur ein programm nehmen, was sowas macht. eben zb. einen browser. aber wie gesagt, unter win ist es nicht immer cmd, sondern, glaub ich, manchmal auch command. ich hab das mal gemacht und hat gefunzt, aber ich find den code nicht mehr  . muesste mal alles durchsuchen...

gruesse


----------



## RawBit (2. Okt 2006)

tja, windows kann ebenkeiner das wasser reichen   :lol: :autsch: :razz:


----------



## kaie (2. Okt 2006)

Oder noch einfacher: Du wartest einfach, bis Java 6 (ehemals Mustang) 'final' wird oder installierst Dir die aktuelle Beta. Damit geht's nämlich ganz kurz und knapp:

```
public void dateiAusfuehren( File datei )
  Desktop.getDesktop().open(datei);
}
```
Drucken, Mailen und Browsen funktioniert genauso. Die Doku zur Klasse gibt's  hier.


----------



## EOB (2. Okt 2006)

tja, das ist natuerlich am besten. ich freu mich schon auf den official release von java 6!! 

gruesse


----------



## RawBit (2. Okt 2006)

JAVA 6 wir warten =D


----------



## Guest (2. Okt 2006)

Mørketid hat gesagt.:
			
		

> aber auch nicht unter jedem windows! von linux oder mac ganz zu schweigen...hab das mal machen muessen und hab dann die mime lib vom browser genommen. unter mac gibts da das _open_ kommando.
> 
> gruesse



wer benutzt schon linux?  :lol:   *scnr* 

Interessanter Link zu "Desktop"


----------



## EOB (3. Okt 2006)

du wuerdest dich wundern wer alles linux benutzt! aber windows ist schon nicht uebel...

gruesse


----------

