# Dateiformat auslesen



## bertram (29. Jan 2007)

Guten Morgen,

Aus meinem Java-Programm heraus sollen Dateien geöffnet werden, diese Dateien können aber ein unterschiedliches Format haben, entweder pdf oder tiff.
Bisher habe ich das so gelöst:

String Datei = "C:\\pfad.pdf";
Runtime rt = Runtime.getRuntime();
Process p = rt.exec("cmd.exe /c start acrord32.exe "+Datei);

Damit lassen sich logischerweise nur Pdf-Dokumente öffnen, jetzt wurde mir aber gesagt, das die zu öffnenden Dateien auch tiff Dateien sein können, weshalb ich auch vorher das Dateiformat auslesen muss.

Wie kann ich mit Java das Format einer Datei auslesen?

Schon einmal vielen Dank im voraus.

MfG

bertram


----------



## André Uhres (29. Jan 2007)

File#exists


----------



## JPKI (29. Jan 2007)

Wenn der Dateiname/Pfad in Form eines Strings vorliegt, probiers doch mal mit


```
if (Datei.endsWidth(".pdf"))
 //Was halt so kommen soll, wenn's ne PDF-Datei ist
else if (Datei.endsWith(".tiff"))
 //Was bei einer TIFF-Datei geschehen soll
else
 //Usw.
```

Stimmt's oder hab ich das Problem nicht richtig verstanden?


----------



## The_S (29. Jan 2007)

André Uhres hat gesagt.:
			
		

> File#exists



? Falscher Thread :lol: ? 

@bertram

Wenn es Windowsspezifisch bleiben soll, kannst du die Datei auch einfach direkt ausführen. Also so als würdest du ein Programm ausführen. Ansonsten einfach überprüfen auf was die Datei endet.


----------



## André Uhres (29. Jan 2007)

Hobbit_Im_Blutrausch hat gesagt.:
			
		

> André Uhres hat gesagt.:
> 
> 
> 
> ...


Nein, ich meinte damit, daß er so testen kann ob die Datei im Format pdf existiert oder im Format tiff

In dem anderen Thread kamst du übrigens zu spät.


----------



## Leroy42 (29. Jan 2007)

Hobbit_Im_Blutrausch hat gesagt.:
			
		

> André Uhres hat gesagt.:
> 
> 
> 
> ...



Wohl nicht Andrés Tag heute!   



			
				Hobbit_Im_Blutrausch hat gesagt.:
			
		

> Ansonsten einfach überprüfen auf was die Datei endet.


oder/und mal im Internet recherchieren ob diese Dokumente einen eindeutigen
Header (so etwas wie eine Magic-Number) haben und nach der abtesten. (Anfang
der Datei lesen)


----------



## bertram (30. Jan 2007)

Erstmal Danke für eure Tipps.

Ich habe es so gemacht, wie Andre es meinte, mit File#exist.

Hier mal mein Quellcode:


```
File f = new File("C:\\pfad\\datei.tif");
if(f.exists()==false)
{
     File f2 = new File("C:\\pfad\\datei.pdf");
     Process p = Runtime.getRuntime().exec("cmd.exe /c start "+f2);
}
else if(f.exists()==true)
{
     Process p1 = Runtime.getRuntime().exec("cmd.exe /c start "+f);
}
```


----------



## Azrahel (30. Jan 2007)

Das geht André jetzt sicher runter wie Öl  :lol:


----------



## Leroy42 (30. Jan 2007)

Azrahel hat gesagt.:
			
		

> Das geht André jetzt sicher runter wie Öl  :lol:



Sei ihm auch gegönnt, wenn man selbst zu blöd ist,
den OP korrekt zu lesen.


----------

