文件监测FileSystemWatcher

using System;
using System.Collections.Generic;
using System.Text;
using System.IO;

namespace UserFileSystem_fsw
{
    
class UserFs_fsw
    {
        
private const String Exit = "exit";
        
private const String Folder = "C:\\Test";
        
private FileSystemWatcher _fsw;

        
public UserFs_fsw()
        {
            _fsw 
= new FileSystemWatcher();
            
if (Directory.Exists(Folder))
                Directory.Delete(Folder, 
true);
            Directory.CreateDirectory(Folder);
            {
                _fsw.Path
=Folder;
                _fsw.NotifyFilter
=NotifyFilters.FileName|NotifyFilters.DirectoryName;
                _fsw.Filter
="*.*";
                _fsw.Changed
+=new FileSystemEventHandler(OnChanged);
                _fsw.Created
+=new FileSystemEventHandler(OnChanged);
                _fsw.Deleted
+=new FileSystemEventHandler(OnChanged);
                _fsw.Renamed
+=new RenamedEventHandler(OnRenamed);

                _fsw.EnableRaisingEvents
=true;
            }
        }

        
private void OnChanged(object source,FileSystemEventArgs e)
        {
            Console.WriteLine(
"文件" + e.FullPath + " " + e.ChangeType);
        }

        
private static void OnRenamed(object source,RenamedEventArgs e)
        {
            Console.WriteLine(
"文件:{0} 重命名{1}", e.OldFullPath, e.FullPath);
        }
        
static void Main(string[] args)
        {
            
try
            {
                UserFs_fsw ws 
= new UserFs_fsw();
                
while (Console.ReadLine() != Exit) ;
            }
            
finally
            {
                
if (Directory.Exists(Folder))
                    Directory.Delete(Folder, 
true);
            }
        }
    }
}

 

posted on 2010-07-14 21:22  晴天1848  阅读(226)  评论(0)    收藏  举报