Hallo Java-Freunde.
Ich habe eine art "Fileschubse" gebastelt und bin auf ein merkwürdiges Phänomen gestoßen.
Folgende Ausgangssituation:
Es gibt einen Quellordner, wo viele Dateien gesammelt werden.
Meine Fileschubse soll dafür sorgen, das die Dateien in Ordnern sortiert werden soll.
In dem Quellordner sind jetzt zwei Dateien.
Einmal: 20100101_urlaub2010
und pic_urlaub2010
Die Zielstruktur soll so aussehen, das für die ersten 8 Zeichen jeweils ein Ordner angelegt werden soll, es sollen aber keine Ordner mit Unterstriche "_" erstellt werden.
Daraus soll also
2/0/1/0/0/1/0/1/20100101_urlaub2010
werden
Dieses File wird erfolgreich verschoben
Das zweite beinhaltet nun ein Unterstrich. Dies wird wie folgt aus dem String raus genommen, um einen Sauberen Pfad zu erhalten:
Jetzt habe ich den Sauberen String für die Erstellung der Ordner.
Danach wird in einer kleinen Funktion der String für die Ordnerbildung erstellt:
Und jetzt wird wie folgt das File kopiert.
Und jetzt wie gesagt:
Bei Dateien, die lang genug sind, ist alles in Ordnung. Hier wird die Replace Funktion nicht aufgerufen, daher dachte ich das hier irgendwie der Fehler sein muss... Ich kann mich auch irren...
An der Stelle:
Wird eine FileNotFoundException ausgegeben.
Ich weiß gerade nicht mehr weiter...
Kann da wer helfen?
Besten Gruß
Ich habe eine art "Fileschubse" gebastelt und bin auf ein merkwürdiges Phänomen gestoßen.
Folgende Ausgangssituation:
Es gibt einen Quellordner, wo viele Dateien gesammelt werden.
Meine Fileschubse soll dafür sorgen, das die Dateien in Ordnern sortiert werden soll.
In dem Quellordner sind jetzt zwei Dateien.
Einmal: 20100101_urlaub2010
und pic_urlaub2010
Die Zielstruktur soll so aussehen, das für die ersten 8 Zeichen jeweils ein Ordner angelegt werden soll, es sollen aber keine Ordner mit Unterstriche "_" erstellt werden.
Daraus soll also
2/0/1/0/0/1/0/1/20100101_urlaub2010
werden
Dieses File wird erfolgreich verschoben
Das zweite beinhaltet nun ein Unterstrich. Dies wird wie folgt aus dem String raus genommen, um einen Sauberen Pfad zu erhalten:
Java:
String OutPutStringWithOutUnterstrich = fileMitUnterstrich.replace("_", "");
Jetzt habe ich den Sauberen String für die Erstellung der Ordner.
Danach wird in einer kleinen Funktion der String für die Ordnerbildung erstellt:
Java:
for(int i = 0; i<=cSet.length-1; i++)
{
fPfad = fPfad+mySeperator+cSet[i];
}
Und jetzt wird wie folgt das File kopiert.
Java:
File inFile = new File(this.inFileStream(Quelle));
File outFile = new File(this.outFileStream(Quelle, Ziel));
FileInputStream input = new FileInputStream(inFile);
FileOutputStream output = new FileOutputStream(outFile);
FileChannel inputChannel = input.getChannel();
FileChannel outputChannel = output.getChannel();
kopieren(inFile, outFile);
input.close();
output.close();
Und jetzt wie gesagt:
Bei Dateien, die lang genug sind, ist alles in Ordnung. Hier wird die Replace Funktion nicht aufgerufen, daher dachte ich das hier irgendwie der Fehler sein muss... Ich kann mich auch irren...
An der Stelle:
Java:
FileOutputStream output = new FileOutputStream(outFile);
Wird eine FileNotFoundException ausgegeben.
Ich weiß gerade nicht mehr weiter...
Kann da wer helfen?
Besten Gruß
Zuletzt bearbeitet: