2016-10-22 1 views
1

ich habe diesen CodeSchließen Prozess durch ein Stück Code in C# verwendet

path = textBox1.Text; 
dir = @"C:\htmlcsseditor\" + path + ".html"; 
System.IO.File.Create(dir); 

aber wenn ich versuche, die Debug sagt mir auf die Datei zu schreiben, dass die Datei von einem anderen Prozess verwendet wird; Wie kann ich den Prozess schließen, der die Datei verwendet? Dank

+0

Überprüfen Sie meine Antwort und sagen Sie mir, wenn etwas nicht klar ist – mybirthname

Antwort

0

Sie sollten Ihre Datei entsorgen, weil sie geöffnet bleibt.

path = textBox1.Text; 
dir = @"C:\htmlcsseditor\" + path + ".html"; 
using (System.IO.File.Create(dir)) {} // or System.IO.File.Create(dir).Dispose() 
0

Das Objekt Filestream mit diesem Verfahren erstellt hat einen Standardwert von Fileshare Keine; Kein anderer Prozess oder Code kann auf die erstellte Datei zugreifen, bis die ursprüngliche Dateikennung geschlossen ist.

using (FileStream fs = File.Create(path)) 
{ 
    Byte[] info = new UTF8Encoding(true).GetBytes("This is some text in the file."); 
    // Add some information to the file. 
    fs.Write(info, 0, info.Length); 
} 

Hier, wie Sie Datei erstellen soll und einen Text in die Datei schreiben. Sie schließen den Prozess, wenn Sie den Verwendungsblock verlassen. Am Ende der Verwendung heißt Dispose() Methode, die die Ressource freigibt.