我做的这个主要是用来对文件的监测 修改 创建 删除 并写入日志

此外我做的WinForm程序

首先导入命名空间

1 using System.IO;

申明全局变量

1 private FileSystemWatcher watch = new FileSystemWatcher();

2 private FileStream fs = null;

先写一个写日志的方法,我这里写的路径都是固定的,你们可以给这个路径配置在App.config中,用户可以选择路径,选择完以后

修改config文件,下次用的时候可以默认选择上次的路径,这里我就不做了

1 public void write(string message)

2 {

3 string path = “C:\\Log\\”;

4 if (!Directory.Exists(path))

5 {

6 Directory.CreateDirectory(path);

7 }

8 string fileName = path + “Log.txt”;

9

10 if (!File.Exists(fileName))

11 {

12 FileStream file = new FileStream(fileName, FileMode.Create);

13 file.Dispose();

14 }

15 fs = new FileStream(fileName, FileMode.Append, FileAccess.Write);

16 StreamWriter sw = new StreamWriter(fs, Encoding.UTF8);

17 sw.WriteLine(message);

18 sw.WriteLine(“———————–“);

19 sw.Dispose();

20 fs.Dispose();

21 }

写监测的方法,我这里只是记录了一部分信息

1 public void ReNameWatch(object sender, FileSystemEventArgs e)

2 {

3 write(DateTime.Now.ToString(“yyyy-MM-dd hh:mm:ss”) + ” ReName File : ” + e.Name.ToString());

4 }

5

6 public void DeleteWatch(object sender, FileSystemEventArgs e)

7 {

8 write(DateTime.Now.ToString(“yyyy-MM-dd hh:mm:ss”) + ” Delete File : ” + e.Name.ToString());

9 }

10

11 public void CreateWatch(object sender, FileSystemEventArgs e)

12 {

13 write(DateTime.Now.ToString(“yyyy-MM-dd hh:mm:ss”) + ” Create File : ” + e.Name.ToString());

14 }

15

16 public void ChangeWatch(object sender, FileSystemEventArgs e)

17 {

18 write(DateTime.Now.ToString(“yyyy-MM-dd hh:mm:ss”) + ” Change File : ” + e.Name.ToString());

19 }

写按钮点击事件

1 public void Watch(object sender, EventArgs e)

2 {

3 if (this.button1.Text == “Start”)

4 {

5 string path = “C:\\”;

6 watch.Path = path;

7 watch.Filter = “*.txt”;

8 watch.NotifyFilter = NotifyFilters.FileName | NotifyFilters.Size | NotifyFilters.LastWrite | NotifyFilters.Attributes | NotifyFilters.CreationTime | NotifyFilters.DirectoryName | NotifyFilters.LastAccess | NotifyFilters.Security;

9

10 watch.Renamed += new RenamedEventHandler(ReNameWatch);

11 watch.Deleted += new FileSystemEventHandler(DeleteWatch);

12 watch.Created += new FileSystemEventHandler(CreateWatch);

13 watch.Changed += new FileSystemEventHandler(ChangeWatch);

14

15 watch.EnableRaisingEvents = true;

16 this.button1.Text = “Stop”;

17 }

18 else if (this.button1.Text == “Stop”)

19 {

20 watch.EnableRaisingEvents = false;

21 this.button1.Text = “Start”;

22 }

23 }

写加载事件

1 public Two()

2 {

3 InitializeComponent();

4 this.KeyDown += new KeyEventHandler(Two_KeyDown);

5 this.button1.Click += new EventHandler(Watch);

6 }

生成日志文件Log.txt截图

filesystemwatch java_FileSystemWatch 对文件的监测 修改 创建 删除 并写入日志 – RunningMan1229 – 博客园...相关推荐

  1. 如何通过使用注册项 (.reg) 文件添加、修改或删除注册表子项和值

    警告:注册表编辑器使用不当可导致严重问题,可能需要重新安装操作系统.Microsoft 不能保证您可以解决因注册表编辑器使用不当而导致的问题.使用注册表编辑器需要您自担风险. 本文分步介绍了如何使用注 ...

  2. markdown mysql高亮_修改博客园markdown编辑器代码高亮风格的方法

    作为一个工程师,追求极致与艺术也应当成为我们生活中的一部分,作为自己的心爱之物--博客,当然也得装扮一下,我对代码高亮有自己所喜欢的风格~还好程序员的世界总是共通的,已经有前辈开发了一些代码高亮的样式 ...

  3. css文件插入背景音乐,博客园添加背景音乐,背景效果!

    博客园添加背景音乐,背景效果 申请博客园js权限 申请话术 实例 尊敬的博客园管理员: 请求申请开通js权限,希望能够把自己的博客修饰的漂亮点,点缀自定义js插件效果,希望管理员可以批准,谢谢! 开通 ...

  4. 10000个怎么用js写 创建li_给博客园加一个会动的小人-spig.js

    给博客园加一个会动的小人-spig.js 效果大概是这样,感觉十分可爱qvq 那么怎么添加呢? 首先需要开通js/html权限. 然后在页脚html代码中加入以下代码 -- var isindex=t ...

  5. [开源] 分享导出博客园文章成本地 Markdown 文件存储的工具

    此文主要分享了如何将自己博客园的文章自动导出到 Markdown 文档进行存储,以便在本地进行归档管理,程序中也对文章的分类.tag.代码块以及文章中的图片进行了保存处理,以便上传到自己的图. 整理后 ...

  6. 博客园修改页面显示样式css

    博客园修改页面显示样式css 一.总结 二. 博客园修改页面显示样式css 1.点管理 2.点设置 3.在页面定制css代码中加入你想要改变样式的css代码即可 不会写css的下面有代码示例,直接复制 ...

  7. 博客园修改页面显示样式

    博客园修改页面显示样式 一.总结 HTML源码吧(FireBug或审查元素) 火狐浏览器下通过FireBug插件来查看源码 二.打造自己的博客园页面 刚接触博客园时,总有一种要定制打造自己博客页面的冲 ...

  8. 把 .md 文件上传到博客园

    接上篇, 把csdn博客打包成md文件的办法,便于迁移到其他博客平台或者自己的博客上,一分钟搞定 在得到了所有的博客(.md文件形式的)后 怎么发布到到博客园呢 步骤 有 python3 环境,安装必 ...

  9. 博客园主页样式修改(加透明背景和微调位置)

    背景透明方法 主要就是以下两个好用点.但是有区别.前者不继承透明,后者继承透明. background:rgba(255,255,255,0.5); optcity:0.5 参阅资料:https:// ...

最新文章

  1. 使用Docker中国官方镜像的加速地址
  2. 十款让 Web 前端开发人员更轻松的实用工具
  3. Comware、VRP、IOS这些操作系统平台你分清了吗?
  4. 周期获取Linux系统内存
  5. PyTorch-常用代码
  6. Golang实践录:命令行cobra库实例再三优化
  7. 通向KDE4之路(十一):Amarok2开辟起步
  8. Python脚本访问子目录
  9. JVM到底怎么进行类加载器的呢?
  10. 10分钟教你写个商业计划书
  11. Redis的集群原理
  12. gbk utf-8 asccl url
  13. c语言错误c1083是什么意思,fatal error C1083: Cannot open include file: 'stdafx.h': No such file or directo...
  14. JavaScript中的倒叙和排序
  15. C语言-实现对单循环链表中奇数和偶数结点的移动(前面奇数结点后面偶数结点)
  16. FTDI for linux的安装指南
  17. SSL/TLS高强度加密
  18. Ae:摄像机设置与摄像机选项
  19. DT内核圆柱模板行业站点主动tags三项主动推送插件
  20. 独家送书福利(6本)【隐秘而伟大】这群神秘的程序员,干了票大的

热门文章

  1. OSChina 周五乱弹 ——我想对喷子说,别停下你探索的脚步!
  2. [转]如何用Delphi开发网游外挂
  3. 数据最高管理部门——国家数据局成立!
  4. onlineSchool 项目课 四 :对项目图片的处理
  5. Mybatis批量插入数据的两种方式
  6. java页面强制刷新,JS关于刷新页面的相关总结
  7. 【Pandas总结】第九节 Pandas_累计与分组 pd.groupby()
  8. php 去除字符串中符号,如何从PHP字符串中的字符中删除重音符号?
  9. HTTP协议---详细讲解
  10. java将多张图片添加水印并生成压缩包导出