Laden...

Exception:Der Prozess kann nicht auf die Datei zugreifen

Erstellt von max85 vor 5 Jahren Letzter Beitrag vor 5 Jahren 1.280 Views
M
max85 Themenstarter:in
35 Beiträge seit 2018
vor 5 Jahren
Exception:Der Prozess kann nicht auf die Datei zugreifen

Hallo,

ich möchte eine serializer machen.Wenn ich die datei nicht habe soll sie erzeugt werden.Danach möchte ich die Datei lesen.Aber wenn die Datei nicht existiert , wird erzeugt und wirft an der stelle " string jsonData = System.IO.File.ReadAllText(filePath);" ein exception aus:> Fehlermeldung:

"Der Prozess kann nicht auf die Datei zugreifen, da sie von einem anderen Prozess verwendet wird."

 if (!File.Exists(filePath))
                { 
                  File.Create(filePath); 
                 }
                string jsonData = System.IO.File.ReadAllText(filePath);

Weiss jemand warum das so ist?Was ich machen muss?

Danke im Voraus

1
124 Beiträge seit 2012
vor 5 Jahren

Weil die Datei bei File.Create noch geöffnet ist. Du kannst die mit File.Close schließen, oder besser ist nich Using verwenden.

78 Beiträge seit 2016
vor 5 Jahren

The T:System.IO.FileStream object created by this method has a default T:System.IO.FileShare value of F:System.IO.FileShare.None; no other process or code can access the created file until the original file handle is closed.

https://msdn.microsoft.com/de-de/library/d62kzs03(v=vs.110).aspx

http://dotnet-paderborn.azurewebsites.net/

M
max85 Themenstarter:in
35 Beiträge seit 2018
vor 5 Jahren

mit file.Close() funktioniert.Vielen Dank!