Hallo zusammen,
ich habe mal wieder eine kleine Frage.
Habt ihr eine Idee wie ich herausfinden kann,
was die letzte Datei in einem Ordner ist wenn
alle Dateien Bild01 heißen wobei 01 eine fortlaufende
Nummer ist. Am ende soll das Programm Die Datei
so abspeichern, dass die Nummer genau eine Zahl
größer ist als die vorhergehende.
Danach steht am Ende von files der Datei-Eintrag mit dem lexikographisch größten Dateinamen. Hilft dir das schon weiter oder ist das Erhöhen dann das nächste Prolem?
Über die getName-Methode des File-Objekts kommst du an den Dateinamen. Diesen musst du nun zerlegen. Wenn du zu 100% garantieren kannst, dass dieser *immer* das Format "Bild..." hat, kannst du subString verwenden, um den Teil hinter "Bild" zu bekommen, in einen int zu verwandeln und zu erhöhen:
Hm.. wenn ich etwas erkläre, möchte ich eigentlich, dass der Fragensteller das versteht und dann selbst umsetzt. Programmieren lernt man nicht durch Copy'n'Paste
Wenn die bisherigen Antworten noch nicht zur Umsetzung reichen, fehlen dir noch Grundlagen - vermutlich zu Arrays und zur String-Verarbeitung. Wir helfen dir gern dabei, das zu verstehen, aber du lernst nur etwas, wenn du es letztendlich mit dem neuen Wissen ganz allein umsetzt
Ja das verstehe ich, jedoch verstehe ich den Teil
mit Arrays.sort nicht!
Wenn ich dich richtig verstehe ist files ein Array
in dem alle Dateien gespeichert sind. Um die letzte
zu bekommen müsste ich doch nur den letzten
Eintrag des Arrays auslesen.
Wenn ich jetzt falsch liege sags mir!
PS ich bekomme eine Exception bei Arrays.sort
Java:
Exception in thread "main" java.lang.NullPointerException
at java.util.TimSort.sort(UnknownSource)
at java.util.Arrays.sort(UnknownSource)
at de.dietz.main.FrameTest.main(FrameTest.java:14)
Sieht eher so aus, als ob du files nicht via listFiles() initialisiert hast. Oder du hast das Beispiel 1:1 kopiert und da steht noch "pfad" statt des tatsächlichen Pfads, sodass das File-Objekt ungültig ist.
Wenn files null ist, würde ich sagen, dass der Pfad ungültig ist / nicht existiert. Ich weiß nicht, ob man in Java Pfade mit Laufwerksbuchstaben und so angeben kann, hab Java noch nie unter Windows benutzt.
Deine Umgebung möchte dir helfen, den Fehler zu finden und fragt dich, ob du in den Fehler-Finde-Modus wechseln möchtest. Aber wir haben den Fehler ja auch so gefunden: files ist null. Dabei kann dir die Umgebung nicht helfen, es liegt am Pfad.
Ich habe das ganze noch mal überprüft!
Der angegebene Pfad existiert und ist
ein Ordner, der 2 Dateien enthält.
Ich kann mir aber nicht erklären warum
files dann null ist!