Diverse Files aus Ordner auslesen

Status
Nicht offen für weitere Antworten.

insertcoin

Aktives Mitglied
Guten Morgen,

meine Applikation soll aus einem bestimmten Verzeichnis, Dateien herausziehen, verarbeiten und wieder löschen. Die Dateien haben alle das gleiche Format, sollen aber je nach Bezeichnung verschieden verarbeitet werden.

Mein Problem: Wie kann ich der Applikation sagen, nehm einfach die Datei die in dem Verzeichnis steckt und verarbeite sie, so oder so.

Die Datei einzulesen, wenn ich weiß wie sie heißt ist kein Problem. Aber wie ich das in meinem jetzigen Fall machen soll, weiß ich einfach nicht.
 
Naja, alle Dateien aus dem Verzeichnis anzeigen lassen mit file#listFiles (ggf. rekursiv) und dann auf den Dateinamen prüfen, was gemacht werden soll.
 
ok, hört sich ja einfach an.
hab diesmal ehrlich gesagt nicht viel nachgelesen, steh ein bisschen unter zeitdruck.
deshalb wollt ich nur mal wissen, ob es realisierbar ist. und wieviel aufwand etwa drin steckt.
dankeschön ..
 
ok, hab noch ne frage.
hab das jetzt mit der auflistung und so weiter alles raus.
möchte jetzt nach bestimmten kriterien suchen , hab dazu die Schnittstelle FileFilter gefunden.aber mit der bekomm ichs nicht hin. meine Files haben immer ein ähnliches schema :
bez_bez_bez_irgendwelcheZahlen.end oder sowas
mein problem ist, ander stelle mit den zahlen möchte ich einen stern * zum suchen einfügen.
also etwa so:
bez_bez_bez_*.end .. dass es mir eben alle files mit dem schema raussucht, egal welche zahl sie da enthalten.

hoffe jemand hat eine idee..
danke schonmal im vorraus.

Greeetz insertcoin
 
Entweder arbeitest du mit regex, oder ganz billig so:
Code:
boolean accept(File dir,
               String name) {

   return name.startsWith( "bez_bez_bez_") && name.endsWith( ".end");
}

Soll nicht zwischen Groß- und Kleinschreibung unterschieden werden, dann so:
Code:
boolean accept(File dir,
               String name) {
   String lcName = name.toLowerCase();
   return lcName.startsWith( "bez_bez_bez_") && lcName.endsWith( ".end");
}
 
mit regex hab ich noch nichts gemacht, muss ich mir jetzt unbedingt mal anschauen. aber der code den du da hingeschrieben hast, hilft mir weiter. vielen dank, ohne das forum würd ich für manche sachen wohl ewig brauchen.

Greeetz
 
ich hab noch ein riesen problem.. ich nutze nun den code oben, und schreibe new FileFilter(... als inner klasse zum suchen. Wenn ich das programm dann in meiner IDE aufrufe funktioniert es.
Beim Start mit einer Batch File, bekomme ich aber eine NoClassDefFoundError. und der fehler ist genau in der zeile in der new FileFilter(.... beginnt. Muss ich die FileFilter Klasse jetzt doch noch schreiben?? Ich checks nicht, das komische ist eh das es in der IDE funtioniert. Aber mit der .bat file nicht ..

Hoffe jemand hat einen Typ .. ich bin fetzig am rotieren ..

Greeetz insertcoin
 
Vermutlich ein Classpath-Problem. Wie sieht dein Batch-File aus? Wie ist der Classpath gesetzt? Wo liegen die *.class-Dateien?
 
.bat File sieht so aus

set path=.;JDK/bin
java -cp . Applikation

die .class datei und das JDK liegen im selben Ordner .. und ich hab gedacht das -cp . setzt den classpat zur Laufzeit!??
Weiß echt keine Möglichkeit mehr.
Bekomme auf jeden Fall die NoClassDefFoundError Exception. und dann gibt er in der konsole aus dass der fehler in der zeile mit New FileFilter steckt ..

Könnt grad alles über den Haufen werfen, so eine Shceiße ..
 
insertcoin hat gesagt.:
.und ich hab gedacht das -cp . setzt den classpat zur Laufzeit!??
Das ist auch korrekt. Wahrscheinlich hast du nur ein Class-File aus der IDE kopiert; beim Compilen einer Klasse mit "inner-classes" entstehen aber mehrere Class-Files.
 
Ich glaubs nicht, ich habs. Wusste nicht dass da noch eine Class File erstellt wird ..
Oh man, wie geil ist das .. wenn ich könnte würd ich dir sofort ein Bier ausgeben 🙂.
Danke .. bin fast durchgedreht..
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben