getTypeDescription

BlubBlub

Bekanntes Mitglied
hi,
hab mal ne kleine verständnissfrage.
in der java api steht bei JFileChooser die Methode:
------------------------------------------------------------------
getTypeDescription

public String getTypeDescription(File f)

Returns the file type.

Parameters:
f - the File
Returns:
the String containing the file type description for f
------------------------------------------------------------------

also wenn ich eine test.txt datei auswähle erhalte ich dann mit dieser methode
den string "txt" als resultat und wenn ich bild.jpg auswähle den string "jpg" ?
oder ist damit was anderes gemeint?
 
M

Marcinek

Gast
Ich weiß es auch nicht-

Aber bevor ich hier posten würde, wüsste ich, wie ich es rausbekomme ;)
 

BlubBlub

Bekanntes Mitglied
@Marcinek: ich wette ich weiß auch schon wie durch programmieren und testen ;)

hatte ich auch zu beginn vor nur auf grund eines programmierfehlers bei mir hat der compiler
sich dauern beschwert.
aber nachdem ich auch diesen gefunden habe, hat der test doch noch funktioniert^^

für alle dies interessieren sollte man kriegt folgedens zurück:

txt dateien => "Textdokument"
jpg dateien => "JPEG-Bild"
gif dateien => "GIF-Bild"

es wundert mich lediglich, dass die rückgabewerte auf deutsch sind, da ich eine englische version von eclipse habe.
 

eRaaaa

Top Contributor
....das hat nichts mit deinem Eclipse oder generell Java zu tun, sondern mit deinem System. Ich bekomme ganz andere Ergebnisse beispielsweise.
 

BlubBlub

Bekanntes Mitglied
hmm dann wird das aber mit der portabilität meines programms schwer werden.
denn ich habe jetzt if-else konstrukte gemacht die je nach rückgabewert etwas tun.

Java:
if(typ.equals("Textdokument"))	
....
else if(typ.equals("JPEG-Bild") || typ.equals("GIF-Bild"))

wenn nun aber bei unterschiedlichen rechner unterschiedliche einstellungen sind
funktioniert das programm ja nur begrenzt und ich weiß auch nicht welchen wert
welcher rechner zurückgibt, so dass ich eventuell schreiben könnte

Java:
if(typ.equals("Textdokument") || typ.equals("txtdocument"))

oder ähnliches
 
Zuletzt bearbeitet:

BlubBlub

Bekanntes Mitglied
weil ich mir nicht sicher bin, ob die dateiendungen dazu angezeigt werden müssen
und ich in der api diese alternative gefundet hatte, wo ich anfänglich dachte,
dass die ganz gut zu gebrauchen wäre.
 

XHelp

Top Contributor
Dateiendung ist ein haufen Buchstabend, bis zum 1. Punkt vom Ende des Strings... vllt hilft die die Überlegung ja weiter.
 
G

gman

Gast
Hi,

hängen die Rückgabewerte der Funktion nicht von der eingestellten Locale auf dem jeweiligen Rechner ab?
Wenn ja könntest du ja vorher abfragen welche Locale eingestellt ist und dann die Abfrage anpassen. Ich
glaube I18n ist hier das richtige Stichwort.
 
M

Marcinek

Gast
Man sollte immer zwischen Darstellung und Modell unterscheiden.

Nur weil ein BS die Endung nicht darstellt, bedeutet es nicht, dass sie nicht da ist.

I.d.R. reicht es sich auf die Dateiendung zu verlassen.
 

BlubBlub

Bekanntes Mitglied
also um die portabilität zu gewährleisten hab ich jetzt folgendes gemacht

Java:
	else if(file.getName().toLowerCase().endsWith(".jpg") || file.getName().toLowerCase().endsWith(".gif"))

ist zwar nicht ganz so toll weil das programm bei jeder if abfragen
Java:
file.getName().toLowerCase().endsWith(".dateiendung")
aufrufen muss, im schlimmsten falle, muss er alle if durchlaufen und immer wieder dieselben
methoden aufrufen.
eine elegantere lösung ist mir leider nich eingefallen.
 

Neue Themen


Oben