Der Prozess kann nicht auf die Datei zugreifen, da sie von einem anderen Prozess verwendet wird (Datei wird erstellt, enthält aber nichts)

8
%Vor%     
sunil 23.12.2013, 11:09
quelle

3 Antworten

15

Versuchen Sie das

%Vor%

In jeder Dateioperation wird die Datei geöffnet und muss vor dem Öffnen geschlossen werden. Wie in der Operation 1 müssen Sie den Dateistrom für die weiteren Operationen schließen.

    
Gokul E 23.12.2013, 11:17
quelle
4

Sie schreiben in die Datei, bevor Sie den Filestream schließen:

%Vor%

Der obige Code sollte mit den Methoden funktionieren, die Sie gerade verwenden. Sie sollten auch in die using -Anweisung schauen und Ihre Streams in einen using-Block einbinden.

    
Paddy 23.12.2013 11:16
quelle
2

File.AppendAllText weiß nicht über den Stream, den Sie geöffnet haben, und versucht intern, die Datei erneut zu öffnen. Da Ihr Stream den Zugriff auf die Datei blockiert, wird File.AppendAllText fehlschlagen und die angezeigte Ausnahme auslösen.

Ich schlage vor, dass Sie stattdessen str.Write oder str.WriteLine verwendet haben, wie Sie es bereits an anderer Stelle in Ihrem Code getan haben.

Ihre Datei wird erstellt, enthält aber nichts, da die Ausnahme ausgelöst wird, bevor str.Flush() und str.Close() aufgerufen werden.

    
Yogster 23.12.2013 11:14
quelle