Необработанное исключение типа "System.IO.IOException" в mscorlib.dll - C#
Формулировка задачи:
Добрый день, тут в общем код вот:
При создании новой папки на отслеживающем каталоге (в данном случае это диск С, то прерывается программа и говорит следующее:Необработанное исключение типа "System.IO.IOException" в mscorlib.dll. Файл уже используется другим процессом.
На самом деле файл у меня закрыт и в чем дело не понимаю, может кто подскажет?
Ошибка вот в этой строчке:
Выручайте!!!
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);
}
}
}
}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);
}
}
}