using System;
using
System.IO;
namespace
TestFileSystemWatcher
{
class Program
{
static void Main(string[]
args)
{
string
path = @"E:\FileWatcher";
MonitorDirectory(path);
Console.ReadKey();
}
private
static void
MonitorDirectory(string path)
{
FileSystemWatcher
fileSystemWatcher = new FileSystemWatcher();
fileSystemWatcher.Filter = "*.dat";
fileSystemWatcher.Path = path;
fileSystemWatcher.Created +=
FileSystemWatcher_Created;
fileSystemWatcher.Renamed +=
FileSystemWatcher_Renamed;
fileSystemWatcher.Deleted +=
FileSystemWatcher_Deleted;
fileSystemWatcher.EnableRaisingEvents = true;
}
private
static void
FileSystemWatcher_Created(object sender, FileSystemEventArgs e)
{
Console.WriteLine("File created: {0}", e.Name);
}
private
static void FileSystemWatcher_Renamed(object sender, FileSystemEventArgs
e)
{
Console.WriteLine("File renamed: {0}", e.Name);
}
private
static void
FileSystemWatcher_Deleted(object sender, FileSystemEventArgs e)
{
Console.WriteLine("File deleted: {0}", e.Name);
}
}
}
using
System;
using
System.IO;
using
System.Security.Permissions;
namespace
TestFileSystemWatcher
{
public class Watcher
{
public static void Main(string[] args)
{
Run();
}
[PermissionSet(SecurityAction.Demand, Name = "FullTrust")]
private
static void
Run()
{
string[]
args = Environment.GetCommandLineArgs();
// If a
directory is not specified, exit program.
if
(args.Length != 2)
{
//
Display the proper way to call the program.
Console.WriteLine("Usage: Watcher.exe (directory)");
return;
}
// Create
a new FileSystemWatcher and set its properties.
using
(FileSystemWatcher watcher = new FileSystemWatcher())
{
watcher.Path = args[1];
//
Watch for changes in LastAccess and LastWrite times, and
//
the renaming of files or directories.
watcher.NotifyFilter = NotifyFilters.LastAccess
| NotifyFilters.LastWrite
| NotifyFilters.FileName
| NotifyFilters.DirectoryName;
//
Only watch text files.
watcher.Filter = "*.dat";
//
Add event handlers.
watcher.Changed += OnChanged;
watcher.Created += OnCreated;
watcher.Deleted += OnDeleted;
watcher.Renamed += OnRenamed;
//
Begin watching.
watcher.EnableRaisingEvents = true;
//
Wait for the user to quit the program.
Console.WriteLine("Press 'q' to quit the sample.");
while
(Console.Read() != 'q')
;
}
}
// Define the
event handlers.
private
static void
OnChanged(object source, FileSystemEventArgs e)
{
//
Specify what is done when a file is changed, created, or deleted.
Console.WriteLine("File: " + e.FullPath + e.ChangeType);
}
private
static void
OnCreated(object source, FileSystemEventArgs e)
{
//
Specify what is done when a file is changed, created, or deleted.
Console.WriteLine("File: " + e.FullPath + e.ChangeType);
}
private
static void
OnDeleted(object source, FileSystemEventArgs e)
{
//
Specify what is done when a file is changed, created, or deleted.
Console.WriteLine("File: " + e.FullPath + e.ChangeType);
}
private
static void
OnRenamed(object source, RenamedEventArgs e)
{
//
Specify what is done when a file is renamed.
Console.WriteLine("File: " + e.OldFullPath + "renamed
to" + e.FullPath);
}
}
}
No comments:
Post a Comment