Необработанное исключение типа "System.IO.IOException" в mscorlib.dll - C#

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

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

Добрый день, тут в общем код вот:
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Management;
  5. using System.Text;
  6. using System.Threading.Tasks;
  7. using System.IO;
  8. namespace I_see_you
  9. {
  10. class file
  11. {
  12. public static void process()
  13. {
  14. System.Timers.Timer tm = new System.Timers.Timer();
  15. tm.Elapsed += new System.Timers.ElapsedEventHandler(tm_Tick);
  16. tm.Interval = 1000;
  17. tm.Start();
  18. }
  19. static void tm_Tick(object sender, System.Timers.ElapsedEventArgs e)
  20. {
  21. // string file = "";
  22. if (Program.filewatch == true)
  23. {
  24. System.Threading.Thread.Sleep(1000);
  25. FileSystemWatcher watcher = new FileSystemWatcher(@"C:\", "*.*");
  26. //watcher.NotifyFilter = NotifyFilters.CreationTime | NotifyFilters.LastAccess | NotifyFilters.LastWrite;
  27. watcher.Changed += new FileSystemEventHandler(OnChanged);
  28. watcher.Created += new FileSystemEventHandler(OnChanged);
  29. watcher.Deleted += new FileSystemEventHandler(OnChanged);
  30. watcher.EnableRaisingEvents = true;
  31. Console.Read();
  32. }
  33. }
  34. static void OnChanged(object sender, FileSystemEventArgs e)
  35. {
  36. using (StreamWriter sw = new StreamWriter("Files_change.txt"))
  37. {
  38. sw.WriteLine("Type: {0}, Path: {1}", e.ChangeType, e.FullPath);
  39. }
  40. }
  41. }
  42. }
При создании новой папки на отслеживающем каталоге (в данном случае это диск С, то прерывается программа и говорит следующее:Необработанное исключение типа "System.IO.IOException" в mscorlib.dll. Файл уже используется другим процессом. На самом деле файл у меня закрыт и в чем дело не понимаю, может кто подскажет? Ошибка вот в этой строчке:
Листинг программы
  1. using (StreamWriter sw = new StreamWriter("Files_change.txt"))
Выручайте!!!

Решение задачи: «Необработанное исключение типа "System.IO.IOException" в mscorlib.dll»

textual
Листинг программы
  1. static object changeLock=new object();
  2. static void OnChanged(object sender, FileSystemEventArgs e)
  3.     {
  4.           lock(changeLock)
  5.             {
  6.               using (StreamWriter sw = new StreamWriter("Files_change.txt"))
  7.               {
  8.                 sw.WriteLine("Type: {0}, Path: {1}", e.ChangeType, e.FullPath);
  9.               }  
  10.             }
  11.         }

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


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

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

7   голосов , оценка 3.857 из 5

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

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

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