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

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

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

Добрый день, тут в общем код вот:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Management;
using System.Text;
using System.Threading.Tasks;
using System.IO;
 
namespace I_see_you
{
    class file
    {
 
        public static void process()
        {
          
            System.Timers.Timer tm = new System.Timers.Timer();
            tm.Elapsed += new System.Timers.ElapsedEventHandler(tm_Tick);
            tm.Interval = 1000;
            tm.Start();
        }
        static void tm_Tick(object sender, System.Timers.ElapsedEventArgs e)
        {
           // string file = "";
 
            if (Program.filewatch == true)
            {
                System.Threading.Thread.Sleep(1000);
 
                FileSystemWatcher watcher = new FileSystemWatcher(@"C:\", "*.*");
        //watcher.NotifyFilter = NotifyFilters.CreationTime | NotifyFilters.LastAccess | NotifyFilters.LastWrite;
        watcher.Changed += new FileSystemEventHandler(OnChanged);
        watcher.Created += new FileSystemEventHandler(OnChanged);
        watcher.Deleted += new FileSystemEventHandler(OnChanged);
        watcher.EnableRaisingEvents = true;
        Console.Read();
 
            }
        }
 
static void OnChanged(object sender, FileSystemEventArgs e)
    {
            using (StreamWriter sw = new StreamWriter("Files_change.txt"))
            {
                sw.WriteLine("Type: {0}, Path: {1}", e.ChangeType, e.FullPath);
                
            }
        }
    }
}
При создании новой папки на отслеживающем каталоге (в данном случае это диск С, то прерывается программа и говорит следующее:Необработанное исключение типа "System.IO.IOException" в mscorlib.dll. Файл уже используется другим процессом. На самом деле файл у меня закрыт и в чем дело не понимаю, может кто подскажет? Ошибка вот в этой строчке:
using (StreamWriter sw = new StreamWriter("Files_change.txt"))
Выручайте!!!

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

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

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


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

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

7   голосов , оценка 3.857 из 5
Похожие ответы