Ошибка доступа к файлу - C# (187939)

Узнай цену своей работы

Формулировка задачи:

Здравствуйте! Есть асинхронный сервер по сбору данных. Необходимо все получаемые данные писать в файл. Если файл создан, то никаких проблем не происходит. Но если файла нет, то вылетает ошибка что файл занят другим процессом, при этом файл создается но в его не идет запись пока не перезапустить прогу. Может кто-нибудь сталкивался с данной проблемой? Пример функции записи в файл ниже.
Листинг программы
  1. private void TestWriteFile(Object obj)
  2. {
  3. try
  4. {
  5. lock (thisLock)
  6. {
  7. DateTime dtDateTime = DateTime.Now;
  8. String str = dtDateTime.ToLongTimeString() + " " + (String)obj;
  9. string FileName = "TestWriteFile.txt";
  10. if (!File.Exists(FileName))
  11. {
  12. File.Create(FileName);
  13. }
  14.  
  15. FileStream fFile = new FileStream(FileName, FileMode.Append, FileAccess.Write);
  16. BufferedStream bufStream = new BufferedStream(fFile);
  17. StreamWriter sWrite = new StreamWriter(bufStream);
  18. for (int i = 0; i < 10; i++)
  19. {
  20. sWrite.WriteLine(str);
  21. }
  22. sWrite.Flush();
  23. sWrite.Close();
  24. }
  25. }
  26. catch (Exception ex)
  27. {
  28. MessageBox.Show(ex.Message);
  29. }
  30. }

Решение задачи: «Ошибка доступа к файлу»

textual
Листинг программы
  1. using (FileStream fFile = new FileStream(FileName, FileMode.Append, FileAccess.Write))
  2. using (BufferedStream bufStream = new BufferedStream(fFile))
  3. using (StreamWriter sWrite = new StreamWriter(bufStream))
  4. {
  5.     for (int i = 0; i < 10; i++)
  6.     {
  7.         sWrite.WriteLine(str);
  8.     }
  9. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 3.9 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы