Hi,
ich sitz schon ewig an einer Sache und komme einfach nicht zu Rande.
Ich lese mir in eine ArrayList 'matches' aus einem Verzeichnis alle Dateinamen ein, die ".drw." im Namen enthalten, z.B. test.drw.1.
Jetzt kann es aber sein, dass von einer Datei mehrere Einträge in matches vorhanden sind, die sich lediglich in der Ziffer hinter der Dateiendung (drw) unterscheiden.
Also z.B. kann matches so aussehen:
Ich will aber als Endergebnis, dass nur noch der Dateiname mit der höchsten Zahl hinter der Dateiendung in meiner ArrayList steht, also so:
Hier ist mal mein Code, der mir erstmal alle Dateinamen eines Verzeichnisses in meine ArrayList schreibt:
Wie kann ich mein Vorhaben am Besten umsetzen?
Gruß.
ich sitz schon ewig an einer Sache und komme einfach nicht zu Rande.
Ich lese mir in eine ArrayList 'matches' aus einem Verzeichnis alle Dateinamen ein, die ".drw." im Namen enthalten, z.B. test.drw.1.
Jetzt kann es aber sein, dass von einer Datei mehrere Einträge in matches vorhanden sind, die sich lediglich in der Ziffer hinter der Dateiendung (drw) unterscheiden.
Also z.B. kann matches so aussehen:
Code:
test.drw.1
test.drw.3
test.drw.5
test.drw.2
a.drw.1
a.drw.2
a.drw.4
...
Code:
test.drw.5
a.drw.4
Hier ist mal mein Code, der mir erstmal alle Dateinamen eines Verzeichnisses in meine ArrayList schreibt:
Code:
String path, drwName, find;
ArrayList matches = new ArrayList();
ArrayList help = new ArrayList();
try{
path = curSession.GetCurrentDirectory();
find = ".drw.";
File f = new File(path);
File[] fileArray = f.listFiles();
if(fileArray != null){
for(int i=0;i<fileArray.length;i++){
if(fileArray[i].getName().indexOf(find) != -1){
drwName = fileArray[i].getName();
//Dateiname der drw(s) stehen in matches
matches.add(drwName);
}
}
}
}
...
Wie kann ich mein Vorhaben am Besten umsetzen?
Gruß.