首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

FileSystemWatcher.Deleted事件触发后,能不能获取被删除的文件类型?解决思路

2012-06-13 
FileSystemWatcher.Deleted事件触发后,能不能获取被删除的文件类型?public static void OnChanged(object

FileSystemWatcher.Deleted事件触发后,能不能获取被删除的文件类型?
public static void OnChanged(object sender, FileSystemEventArgs e)
  {
  //指定当文件被更改、创建或删除时要做的事
  Console.WriteLine("file:" + e.FullPath + "__" + e.ChangeType+"___"+e.GetType());
  if (e.ChangeType == WatcherChangeTypes.Deleted)
  {

  }
  }

if里面就不会写了,不知道怎么获取被删除的文件类型,因为如果删除的是文件夹的话,我必须要做出不同的处理,求大神指教!怎么获取到被删除的是不是文件夹!

[解决办法]

C# code
public static void OnChanged(object sender, FileSystemEventArgs e){    //指定当文件被更改、创建或删除时要做的事    Console.WriteLine("file:" + e.FullPath + "__" + e.ChangeType + "___" + e.GetType());    if (e.ChangeType == WatcherChangeTypes.Deleted)    {        string ext = Path.GetExtension(e.Name);        // 获取文件的扩展名,这就是文件的类型,然后进一步处理    }}
[解决办法]
好像没有什么好办法,我的做法是开两个FileSystemWatcher,一个的NotifyFilter指定FileName,另一个指定DirectoryName。两个FileSystemWatcher的Deleted添加不同的事件。这样能解决对文件与文件夹的Delete执行不同操作的问题。但是这样如果Path所指示的文件夹引发Change事件的话会产生两次,不过这对我没影响,因为我只想监控其里面的文件系统的变化。

热点排行