c#使用filesystemwatcher监视文件系统的变化
#region 监视文件夹的变化
FileSystemWatcher watcher = new FileSystemWatcher();
watcher.Path = "f:\\";
watcher.NotifyFilter =//被监控的方面
NotifyFilters.LastWrite |
NotifyFilters.FileName |
NotifyFilters.DirectoryName;
// 订阅一些事件,当它被触发时(.net(windows)底层触发它,我们不用管),执行我们的方法
watcher.Changed += (object source, FileSystemEventArgs e) =>
{
Console.WriteLine("文件{0}已经被修改,修改类型{1}", e.FullPath, e.ChangeType.ToString());
};
watcher.Created += (object source, FileSystemEventArgs e) =>
{
Console.WriteLine("文件{0}被建立", e.FullPath);
};
watcher.Deleted += (object source, FileSystemEventArgs e) =>
{
Console.WriteLine("文件{0}已经被删除", e.FullPath);
};
watcher.Renamed += (object source, RenamedEventArgs e) =>
{
Console.WriteLine("文件{0}的名称已经从{1}变成了{2}", e.OldFullPath, e.OldName, e.Name);
};
// 为true表示开启FileSystemWatcher组件,反之我们的监控将不启作用
watcher.EnableRaisingEvents = true;
#endregion
另外,告诉大家一个 xor异或运算的使用技巧,就是它可以在不引入第三个变量的情况下,交替两个变量的值,你的变量可以是数值,也可以是字符,如果是字符,我们需要使用它的hashcode值进行xor运算。
#region xor两个变量交换
int a = 2;
int b = 3;
Console.WriteLine("a={0}", a);
Console.WriteLine("b={0}", b);
a = a ^ b ^ (b = a);
Console.WriteLine("a={0}", a);
Console.WriteLine("b={0}", b);
#endregion
相关推荐
-
C#监控文件夹变化的方法
本文实例讲述了C#监控文件夹变化的方法.分享给大家供大家参考.具体实现方法如下: 当需要监控某一文件,FileSystemWatcher类提供了Created, Deleted,Rename等事件. 就拿FileSystemWatcher的Created事件来说,该事件类型是FileSystemEventHandler. 复制代码 代码如下: public delgate void FileSystemEventHandler(Object sender, FileSystemEventArgs
-
c# 服务器上传木马监控代码(包含可疑文件)
复制代码 代码如下: using System; using System.IO; using System.Threading; using System.Windows.Forms; using System.Net; namespace TrojanMonitor { public partial class Form1 : Form { public Form1() { InitializeComponent(); } delegate void SetTextCallback(stri
-
C#判断本地文件是否处于打开状态的方法
本文实例讲述了C#判断本地文件是否处于打开状态的方法.分享给大家供大家参考.具体分析如下: 对于应用程序,有时候可能需要判断某个文件是否已经被打开,也就是指是否被某个流连接着.这在对文件的读写比较频繁的程序中尤为重要,因为一个文件同一时刻只能有一个流连接的.下面的代码也许能有所帮助. public class FileStatus { [DllImport("kernel32.dll")] private static extern IntPtr _lopen(string lpPat
-
c#使用filesystemwatcher实时监控文件目录的添加和删除
首先,我们需要对.net提供的FileSystemWatcher类有所了解.我有些懒,找了MSDN对该类的描述. FileSystemWatcher类侦听文件系统更改通知,并在目录或目录中的文件发生更改时引发事件. 使用 FileSystemWatcher 监视指定目录中的更改.可监视指定目录中的文件或子目录的更改.可以创建一个组件来监视本地计算机.网络驱动器或远程计算机上的文件. 若要监视所有文件中的更改,请将 Filter 属性设置为空字符串 ("") 或使用通配符("*
-
c# 共享状态的文件读写实现代码
复制代码 代码如下: using System.IO; using System.Text; namespace LucienBao.Commons { public static class FileHelper { public static string ShareRead(string file, Encoding encoding) { string content = string.Empty; FileStream fs = new FileStream(file, FileMod
-
C#采用FileSystemWatcher实现监视磁盘文件变更的方法
本文实例讲述了C#采用FileSystemWatcher实现监视磁盘文件变更的方法.分享给大家供大家参考.具体实现方法如下: 简化需求:有一个简化了的需求是这样的:有一个拍照程序在运行,一旦抓拍之后则将图片文件存储至某目录,然后图片要上传至远程服务器并update数据库. 原需求:原先的需求是这样的:有一台PDA扫码枪,一个IP照相机放置在下线区传送带上方.当PDA扫描箱子上的条码,触发相机拍照,将图片流传至远端服务器,找到对应的条码,将图片存储并更新数据库. 然而我不知道PDA扫描的瞬间如何与
-
c#实现数据同步的方法(使用文件监控对象filesystemwatcher)
最近在项目中有这么个需求,就是得去实时获取某个在无规律改变的文本文件中的内容.首先想到的是用程序定期去访问这个文件,因为对实时性要求很高,间隔不能超过1S,而且每次获取到文本内容都要去分发给WEB服务器做别的操作,而那个文本的写入有时候会频繁,1秒可能多次,但是也有可能在相当长一段时间内是没有任何写入的. 这样一来如果每秒都去访问文件的话,一个是IO问题,还有就是每次操作都会引起后端一系列程序的反应,文本在长时间内无写入的话,一秒一次的触发一系列徒劳的事情太不可取了. 最终发现了c#中的File
-
C#使用FileSystemWatcher控件实现的文件监控功能示例
本文实例讲述了C#使用FileSystemWatcher控件实现的文件监控功能.分享给大家供大家参考,具体如下: FileSystemWatcher 可以使用FileSystemWatcher组件监视文件系统,并对文件系统的改变作出反应.通过使用FileSystemWatcher组件,在特定的文件或目录被创建.修改或删除时,可以快速和便捷地启动业务流程. 例如,如果一组用户在合作处理一个存储在服务器共享目录下的文档时,可以使用FileSystemWatcher组件编写应用程序来监视对共享目录的更
-
C#的FileSystemWatcher用法实例详解
本文实例详述了C#的FileSystemWatcher用法.分享给大家供大家参考.具体用法如下: FileSystemWatcher控件主要功能: 监控指定文件或目录的文件的创建.删除.改动.重命名等活动.可以动态地定义需要监控的文件类型及文件属性改动的类型. 1.常用的几个基本属性: (1) Path :设置要监视的目录的路径. (2) IncludeSubdirectories :设置是否级联监视指定路径中的子目录. (3) Filter :设置筛选字符串,用于确定在目录中监视哪些类型的文件
-
c#使用filesystemwatcher监视文件系统的变化
复制代码 代码如下: #region 监视文件夹的变化 FileSystemWatcher watcher = new FileSystemWatcher(); watcher.Path = "f:\\"; watcher.NotifyFilter =//被监控的方面 NotifyFilters.LastWrite | NotifyFilters.FileName
-
ResizeObserver 监视 DOM大小变化示例详解
目录 引言 使用 entry 其它 API 兼容与 polyfill 引言 ResizeObserver 用于监听元素的大小尺寸变化,常见用于监听自适应大小的元素变化引起的宽高变化时处理应宽高变化而需要 JS 做特定处理的场景. 说下我自己使用中遇到的三个场景: Tabs 组件的头部区域在超过宽度/高度时需要展示出超出滚动按钮 组件中存在超出隐藏的场景,如多个标签超出一行后将剩余标签进行压缩等 Table 组件横向滚动如果存在某几列数据需要固定展示的情况下需要根据宽度来计算是否需要出现滚动条和滚
-
简单了解Python下用于监视文件系统的pyinotify包
什么是inotify: Inotify是一个事件驱动的通知机制,Inotify 提供一个简单的API,使用最小的文件描述符,并且允许细粒度监控.与 inotify 的通信是通过系统调用实现.可用的函数如下所示: inotify_init 是用于创建一个inotify实例的系统调用,并返回一个指向该实例的文件描述符. inotify_init1 与inotify_init相似,并带有附加标志.如果这些附加标志没有指定,将采用与inotify_init相同的值. inotify_add_watc
-
Linux文件系统的桌面应用
本文中要介绍一个所谓的"Linux 文件系统的守护神",这是指一个能实时地观察 Linux 文件系统的变化情况的程序模块.能够实时的观察文件系统的变化情况,并做出及时的适当的反应,这对于应用 Linux 做桌面计算机系统来说,是十分的有趣,也是十分的重要的.本文还要介绍 Linux 文件系统的异步 I/O 的扩展.同样,这对于 Linux 系统的桌面应用也是关键的. 1.Linux 文件系统的守护神 传统的 Linux 文件系统呈现给用户程序的界面,确实是十分的干净利落.用户程序可以打
-
Linux INotif机制详解及实例代码
Linux INotif机制 一. 前言: 众所周知,Linux 桌面系统与 MAC 或 Windows 相比有许多不如人意的地方,为了改善这种状况,开源社区提出用户态需要内核提供一些机制,以便用户态能够及时地得知内核或底层硬件设备发生了什么,从而能够更好地管理设备,给用户提供更好的服务,如 hotplug.udev 和 inotify 就是这种需求催生的.Hotplug 是一种内核向用户态应用通报关于热插拔设备一些事件发生的机制,桌面系统能够利用它对设备进行有效的管理,udev 动态地维护 /
-
node.js 如何监视文件变化
fs.FSWatcher fs.FSWatcher类 继承了 EventEmitter,用于监视文件变化,调用 fs.watch 后返回一个 fs.FSWatcher 实例,每当指定监视的文件被修改时,实例会触发事件调用回调函数 fs.watch('./tmp', (eventType, filename) => { if (filename) { console.log(filename); } }); fs.watch() fs.watch(filename[, options][, lis
-
Linux中使用Pyinotify模块实时监控文件系统更改
Pyinotify 是一个简单而实用的 Python 模块,它用于通过 inotify 实时监控Linux文件系统的更改.用于在Linux中实时监控文件系统的变化. 作为系统管理员,您可以使用它来监视目标感兴趣的更改,如Web目录或应用程序数据存储目录及其他目录.这取决于inotify (包含在 2.6.13及后续Linux内核中的功能),它是一个事件驱动的通知程序,其通知通过三个系统调用从内核空间导出到用户空间. pyinotiy的目的是绑定三个系统调用,并支持其上的实现,提供了一个共同和抽象
-
C#中FileSystemWatcher的使用教程
开局一张图,在 System.IO 下的 FileSystemWatcher 常用于监视文件系统的变更,当文件系统中的文件或者文件夹被修改会自动触发相应的回调事件. 为了能够了解 FileSystemWatcher 是怎么运作的,你可以指定一个被监视的文件夹,当被监视的文件夹修改后,大概会触发如下的一些事件. Changed: 当文件或者文件夹已经完成修改时触发此事件 Created:当文件或者文件夹已经成功创建触发此事件 Deleted:当文件或者文件夹已经成功删除触发此事件 Error:当变
随机推荐
- PHP Web木马扫描器代码分享
- 轻松学习jQuery插件EasyUI EasyUI创建树形网络(1)
- java中子类继承父类,程序运行顺序的深入分析
- iOS UITextView 首行缩进 撤销输入 反撤销输入的实现代码
- 关于JS中setTimeout()无法调用带参函数问题的解决方法
- php加水印的代码(支持半透明透明打水印,支持png透明背景)
- Python制作简单的网页爬虫
- C#实现winform用子窗体刷新父窗体及子窗体改变父窗体控件值的方法
- javascript 日期时间 转换的方法
- JS中的forEach、$.each、map方法推荐
- python2.7 mayavi 安装图文教程(推荐)
- 使用jquery修改表单的提交地址基本思路
- JavaScript中windows.open()、windows.close()方法详解
- 浅谈javascript函数式编程
- jQuery之选项卡的简单实现
- jquery动画4.升级版遮罩效果的图片走廊--带自动运行效果
- C#中遍历DataSet数据集对象实例
- Android实现SQLite添加、更新及删除行的方法
- Java中ArrayList和LinkedList之间的区别_动力节点Java学院整理
- Java FTP上传下载删除功能实例代码