Frage zu FileChooser
-
Die letzten 4 Zeichen des Strings auswerten und wenn die nicht ".pdf" entsprechen, ".pdf" hinten dran hängen
-
Ja, soweit war ich schon!
Daher der Hinweis auf die mich-verwirrende API im ersten Posting...
if(!meinFile.getName().toLowerCase().endsWith(".pdf")) { // wie ersetze/ergänze ich dann die Endung? // es soll ja am Ende auch kein "bericht.txt.pdf" oder so rauskommen }
MfG,
Stefan
-
ich würde es so machen
int point = filename.lastIndexOf("."); String file=filename.substring(0,point-1); String realName= file+".pdf";
geht das?
gruß devil667
-
Hallo!
Ich hab inzwischen nochmal mit dem Kunden gesprochen...
Manchmal bewirkt das ja Wunder!Konkret wird jetzt gefordert das der Anwender garkeine Endung angibt; das
macht es natürlich wesentlich leichter für mich, da ich mir um die "falschen"
Endungen keine Gedanken machen brauch.Ich habs jetzt einfach so gemacht, obwohl ich denke das man das auch ohne
den Umweg über ein File-Objekt machen kann:if(!fc.getSelectedFile().getPath().endsWith(".pdf")) { File tmpFile = new File(fc.getSelectedFile().getPath()+".pdf"); fc.setSelectedFile(tmpFile); }
Trotzdem vielen Dank für euren Hirnschmalz!!
MfG,
Stefan
[ Dieser Beitrag wurde am 25.04.2003 um 12:09 Uhr von P@B8man editiert. ]
-
na, wenn ohnehin keine endung dran stehen darf, mußt du doch aber gucken, ob eine dran ist. sonst kommt vielleicht sowas raus: test.txt.pdf somit ist deine if auswahl nicht ganz korrekt, oder?
gruß
-
Hm... Ja, stimmt!
Ist tatsächlich nicht so ganz sauber...
Ich glaub ich sitz insgesammt schon zu lange an dem Projekt.
Man verliert total den Blick für das Offensichtliche!Da ist deine Idee mit dem Substring besser!
Dazu noch eine Frage:Wenn im Dateinamen kein Punkt vorhanden ist
klappt das dann so doch auch nicht?
Weil: dann gibt der lastIndexOf(".") null zurück, oder
ist das egal?MfG,
Stefan
-
wenn kein punkt vorkommt, dann gibt er -1 zurück, so in der art:
if(point==-1){ //dann .pdf anhängen, da ja keine endung dran ist }else{ //die geschichte mit dem substring }
oder? gruß devil667
-
oder du schaust was in dem textfeld drin steht, was du ja schon machst, wenn point>-1 ist, gibst du eben ne warnung aus und lässt den nutzer nochmal n eingabe machen. wie gefällt dir das?
gruß
-
Hallo!
Ich denke das ist die ideale Lösung! Ich danke dir!!
Ich werde es gleich mal implementieren...falls ich
dann noch Probleme habe melde ich mich wieder.MfG,
Stefan
-
jo, gern geschehen:-)