2016-10-22 1 views
1

я этот кодЗакрыть процесс, используемый кусок кода в C#

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

, но когда я пытаюсь писать на файл отладки говорит мне, что этот файл используется другим процессом; как я могу закрыть процесс, который использует файл? Благодаря

+0

Проверьте мой ответ и скажите мне, если что-то непонятно – mybirthname

ответ

0

Вы должны распорядиться своим файлом, так как он остается открытым.

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

FileStream объект, созданный этим способом, имеет Обменник по умолчанию значение None а; ни один другой процесс или код не могут получить доступ к созданному файлу до тех пор, пока исходный дескриптор файла не будет закрыт.

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); 
} 

Вот как вы должны создать файл и записать текст в файл. Вы закрываете процесс, когда вы покидаете блок использования. В конце использования используется метод Dispose(), который освобождает ресурс.