Получение исключения при создании текстового файла в папке Appdata с указанием "Файл" используется другим процессом
Я пишу текстовый файл в папке Appdata, я создаю папку и создаю текстовый файл, а в следующей строке я пишу текст в файл через StreamWriter. Но здесь я получаю следующее исключение.
Процесс не может получить доступ к файлу '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); но он также работает так же, как и выше.
1 ответ
Самое простое решение - просто оставить File.Create()
,
Конструктор, который вы используете для StreamWriter, уже создаст файл, если он не существует.
Другой вариант - передать FileStream
тот File.Create()
возвращается в соответствующий конструктор StreamWriter
,