C#监控文件(创建、修改、删除、重命名)
来源:互联网 发布:ncut算法讲解 编辑:程序博客网 时间:2024/05/10 03:33
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;namespace 文件监控filesystemwatch{ public partial class Form1 : Form { public Form1() { InitializeComponent(); this.Load+=new EventHandler(Form1_Load); this.button1.Click+=new EventHandler(button1_Click); this.button2.Click+=new EventHandler(button2_Click); this.fileSystemWatcher1.Created+=new System.IO.FileSystemEventHandler(fileSystemWatcher1_Created); this.fileSystemWatcher1.Changed+=new System.IO.FileSystemEventHandler(fileSystemWatcher1_Changed); this.fileSystemWatcher1.Deleted+=new System.IO.FileSystemEventHandler(fileSystemWatcher1_Deleted); this.fileSystemWatcher1.Renamed+=new System.IO.RenamedEventHandler(fileSystemWatcher1_Renamed); } private void Form1_Load(object sender, EventArgs e) { } private void button1_Click(object sender, EventArgs e) { FolderBrowserDialog fbd = new FolderBrowserDialog(); if (fbd.ShowDialog() == DialogResult.OK) { if (fbd.SelectedPath != "") { textBox1.Text = fbd.SelectedPath; } } } private void button2_Click(object sender, EventArgs e) { if (textBox1.Text.Trim() == "") { MessageBox.Show("请选择要监控的目录"); return; } fileSystemWatcher1.Filter = "*.*"; fileSystemWatcher1.Path = @textBox1.Text.Trim(); fileSystemWatcher1.IncludeSubdirectories = true; fileSystemWatcher1.EndInit(); ((Button)sender).Enabled = false; } private void fileSystemWatcher1_Created(object sender, System.IO.FileSystemEventArgs e) { textBox2.AppendText("文件:"+e.FullPath+string.Format(" {0:yyyy-MM-dd HH:mm:ss}",DateTime.Now)+"被创建;\r\n"); } private void fileSystemWatcher1_Changed(object sender, System.IO.FileSystemEventArgs e) { textBox2.AppendText("文件:" + e.FullPath + string.Format(" {0:yyyy-MM-dd HH:mm:ss}", DateTime.Now) + "被修改;\r\n"); } private void fileSystemWatcher1_Deleted(object sender, System.IO.FileSystemEventArgs e) { textBox2.AppendText("文件:" + e.FullPath + string.Format(" {0:yyyy-MM-dd HH:mm:ss}", DateTime.Now) + "被删除;\r\n"); } private void fileSystemWatcher1_Renamed(object sender,System.IO.RenamedEventArgs e) { textBox2.AppendText("文件:" + e.OldFullPath + string.Format(" {0:yyyy-MM-dd HH:mm:ss}", DateTime.Now)+" 改名为:"+e.FullPath + ";\r\n"); } }}