Процесс не может получить доступ к файлу «каталог файл», потому что он используется другим процессом в писателе C # файла C #
-
29-09-2019 - |
Вопрос
Я получаю эту ошибку, когда я пытаюсь сохранить существующий файл:
Процесс не может получить доступ к файлу, потому что он используется другим процессом
Он работает, когда файл не существует, но когда я пытаюсь снова написать в нем, появляется ошибка. Я не доступа к или использую файл в то время.
Вот код:
string directory = filepath + "Updates\\" + dir;
if(!Directory.Exists(directory))
{
Directory.CreateDirectory(directory);
}
remarks = remarks.Trim();
remarks = remarks.Replace("\r\n","<br>");
remarks = remarks.Replace(",","|");
string file = directory + "\\" + getIndex(barcode) + ".asdt";
StreamWriter writer = new StreamWriter(file,true);
writer.WriteLine(username + "," + barcode + "," + DateTime.Now.ToString("yyyy-MM-dd HH.mm")+ "," + remarks);
writer.Close();
Когда я проверил его, ошибка возникает на линии:
StreamWriter writer = new StreamWriter(file,true);
Что может быть причиной этого?
Решение
Ваша программа, вероятно, не издает поток файла должным образом, оставляя файл открытым.
Использовать using
Заявление для обеспечения надлежащего утилизации:
using(StreamWriter writer = new StreamWriter(file,true))
{
writer.WriteLine(username + "," + barcode + "," + DateTime.Now.ToString("yyyy-MM-dd HH.mm")+ "," + remarks);
writer.Close();
}
Другие советы
Или вы можете аннулировать объект писателя после закрытия.
попробуй использовать writer.Flush();
до writer.Close();
Не связан с StackOverflow