Exception bei File.Delete nach File.Copy - Wie umgehen?

Asterix-Ac

Erfahrenes Mitglied
Hallo zusammen,

in meinem Projekt kopiere ich einige Dateien mit File.Copy, die der User selber wählen kann, von A nach B.
Ich lasse in einem Dialog dem User die Wahl, ob er die Dateien nach dem Kopieren auch löschen möchte. Dies mache ich anschließend mit File.Delete.
Wenn dies nun ausgewählt ist, erhalte ich eine IOException, dass die Datei von einem anderen Prozess verwendet wird und die Anwendung würde mir abschmieren.
Ich vermute, dass die Dateien noch zum Kopieren geöffnet sind. Doch selbst wenn die Schleife schon durch ist und ich die Dateien in einer 2. Schleife löschen will, geht das nicht. Threading verwende ich nicht. Und googlen hat auch nichts gebracht.
Also, ein wenig Hilfe von Euch wäre echt gut.

Asterix
 
Hallo zusammen,

erstmal Danke für die Anworten.

Ich möchte nicht File.Move benutzen, da es nicht funktioniert, wenn die Datei im Zielordner schon existiert.
Desweiteren wende ich noch nach Userbedarf File.SetCreationTime usw. auf die Zieldatei an und greife diese mit File.GetCreationTime von der Quelldatei ab.

Oder wie sollte ich das lösen?

Asterix

P.S.: @Norbert: Was meinst Du mit über verschiedene Volumes?
 
Wenn du File.Move nutzt, könntest vorher überprüfen ob die Datei bereits existiert und dementsprechend darauf reagieren. Norbert meine damit deine Festplatten. Sprich du kopierst etwas von C:\ nach E:\.
 
Hallo zusammen,

so wie Konstantin es geschrieben hat, habe ich es auch gemacht. Aber der Fehler trat immer noch auf.
Doch ich hatte eines nicht beachtet : Ich schreibe zur Zeit einen Image-Viewer, ähnlich Acdsee und der hat unten links eine Bildvorschau in einer PictureBox. Wenn nun der User den Assistenten zum Kopieren der Bilder aufruft und in der PictureBox noch ein Bild angezeigt wird, dass gleichfalls kopiert werden soll, bekam ich daher immer die Exception.
Haha ...

Aber Danke für Eure Hilfe.

Asterix
 

Neue Beiträge

Zurück