Ошибка доступа к файлу - C# (187939)
Формулировка задачи:
Здравствуйте!
Есть асинхронный сервер по сбору данных. Необходимо все получаемые данные писать в файл. Если файл создан, то никаких проблем не происходит. Но если файла нет, то вылетает ошибка что файл занят другим процессом, при этом файл создается но в его не идет запись пока не перезапустить прогу. Может кто-нибудь сталкивался с данной проблемой?
Пример функции записи в файл ниже.
private void TestWriteFile(Object obj) { try { lock (thisLock) { DateTime dtDateTime = DateTime.Now; String str = dtDateTime.ToLongTimeString() + " " + (String)obj; string FileName = "TestWriteFile.txt"; if (!File.Exists(FileName)) { File.Create(FileName); } FileStream fFile = new FileStream(FileName, FileMode.Append, FileAccess.Write); BufferedStream bufStream = new BufferedStream(fFile); StreamWriter sWrite = new StreamWriter(bufStream); for (int i = 0; i < 10; i++) { sWrite.WriteLine(str); } sWrite.Flush(); sWrite.Close(); } } catch (Exception ex) { MessageBox.Show(ex.Message); } }
Решение задачи: «Ошибка доступа к файлу»
textual
Листинг программы
using (FileStream fFile = new FileStream(FileName, FileMode.Append, FileAccess.Write)) using (BufferedStream bufStream = new BufferedStream(fFile)) using (StreamWriter sWrite = new StreamWriter(bufStream)) { for (int i = 0; i < 10; i++) { sWrite.WriteLine(str); } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д