2014-12-05 5 views
0

Я пишу текстовый файл в папке Appdata, я создаю папку и создаю текстовый файл, а в следующей строке я записывая текст в файл через StreamWriter. Но здесь я получаю следующее исключение.Получение исключения при создании текстового файла в папке Appdata, его высказывание Файл используется другим процессом

Процесс не может получить доступ к файлу «C: \ sdfdfg \ sdfsd \ AppData \ Roaming \ MyFolder \ myFile.txt», потому что он используется другим процессом.

Это исключение я получаю, когда создаю файл, если я запустил приложение во второй раз, чем приложение записывает текст в тот же файл.

Мой код следующий

StringBuilder sb=new StringBuilder(); 
if (!File.Exists(filePath)) 
{ 
    File.Create(filePath); 
    sb.AppendLine(line); 
    using (StreamWriter writer = new StreamWriter(filePath, true)) 
    { 
     writer.Write(sb.ToString()); 
     writer.Close(); 
    } 
} 

Я попробовал другую функцию File, File.WriteAllText (Filepath, textToWrite); но он также выполняет то же самое, что и выше, чем работает StreamWriter.

ответ

2

Самое простое решение - просто оставить File.Create().

The constructor you're using for your StreamWriter уже создаст файл, если он не существует.

Другой вариант - передать FileStream, что File.Create() возвращает в соответствующий конструктор StreamWriter.

+0

Спасибо, теперь я удалил File.Create (filePath); StreamWriter напишет файл., Такая глупая ошибка, которую я сделал .... :(, в любом случае спасибо Виллем ван Рампт. приветствия! –

+0

Добро пожаловать :) –