Hallo zusammen,
bin hier gerade am verzweifeln. Eigentlich möchte ich etwas ganz einfaches machen und zwar Dateien löschen, aber ich bekomme immer eine Exception bemi löschen.
Selbst wenn ich in Windows die Datei löschen möchte, geht das nicht, da ein Java-Process darauf zugreift.
Jaja, ist mir schon klar, dass ich in meinem Programm irgendwo einen Schreibzugriff oder Lesezugriff nicht geschlossen habe, aber ich habe das schon mehrfach geprüft, den Fehler aber nicht gefunden.
Wie kann ich jetzt herausfinden wo genau der Fehler liegt?
Hier mal der Code der ausgeführt wird:
Sodele, wie bekomme ich nun heraus wer hier mein Übeltäter ist.
Ich habe alle Untermethoden geprüft, überall wird das FileInputStream wieder geschlossen:
hier operationOne() (operationTwo() ist nahezu identisch):
Wenn ich das ganze im Debug-Modus ausführe, bekomme ich den Fehler irgendwie nicht.
Wie komme ich denn hier weiter? Vielleicht könnt ihr mir helfen.
Grüße
bin hier gerade am verzweifeln. Eigentlich möchte ich etwas ganz einfaches machen und zwar Dateien löschen, aber ich bekomme immer eine Exception bemi löschen.
Selbst wenn ich in Windows die Datei löschen möchte, geht das nicht, da ein Java-Process darauf zugreift.
Jaja, ist mir schon klar, dass ich in meinem Programm irgendwo einen Schreibzugriff oder Lesezugriff nicht geschlossen habe, aber ich habe das schon mehrfach geprüft, den Fehler aber nicht gefunden.
Wie kann ich jetzt herausfinden wo genau der Fehler liegt?
Hier mal der Code der ausgeführt wird:
Java:
lWrapper = lWrappedFiles.get(lPath);
File[] lFiles =null;
// Kopiere Dateien von Remote System auf lokales System
try {
copyFilesFromRemoteSystem(...); // ab hier sind die Dateein lokal in einem Verzeichnis
} catch (Exception e1) {
logger.error("Fehler beim kopieren der Remote-Dateien");
}
// hole nun die lokalen dateien
lFiles = getLocalFiles().listFiles();
// arbeite auf diesen Dateien (lesend)
operationOne(lFiles);
// arbeite auf diesen Dateien (lesend)
operationTwo(lFiles);
// nun lösche alle lokalen Dateien
deleteFiles(lFiles); // hier kommt es bei manchen Dateien zum Fehler
}
Sodele, wie bekomme ich nun heraus wer hier mein Übeltäter ist.
Ich habe alle Untermethoden geprüft, überall wird das FileInputStream wieder geschlossen:
hier operationOne() (operationTwo() ist nahezu identisch):
Java:
Properties properties = new Properties();
if (aFile != null && aFile.exists()) {
FileInputStream lFileInputStream = null;
try {
lFileInputStream = new FileInputStream(aFile);
properties.load(lFileInputStream);
} catch (IOException e) {
logger.error("Failed to read properties from File " + e.getMessage());
} finally {
if (lFileInputStream != null) {
try {
lFileInputStream.close();
} catch (IOException e) {
logger.error("Failed to close FileInputStream " + e.getMessage());
}
}
}
doSomethingWithProperty(properties);
}
Wenn ich das ganze im Debug-Modus ausführe, bekomme ich den Fehler irgendwie nicht.
Wie komme ich denn hier weiter? Vielleicht könnt ihr mir helfen.
Grüße