多线程监控文件夹,FlieSystemWatcher,并使用共享函数

发表于: 2011-01-06 09:55:47

C# code

?


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

using System;

using System.Collections.Generic;

using System.Text;

using System.Threading;

using System.IO;

using System.Collections;

namespace Thread_FileSystemWatcher

{

    class Program

    {

        private static Thread[] threads;

        private static string[] pPath;

        

        static void Main(string[] args)

        {

            threadsPEIZHI();

            while (Console.Read() != ‘q‘) ;

        }

        static void threadsPEIZHI()

        {

            try

            {

                pPath = new string[2];

                pPath[0] = "c:\\";

                pPath[1] = "e:\\";

                threads = new Thread[pPath.Length];

                for (int i = 0; i <= threads.Length-1; i++)

                {

                    threads[i] = new Thread(Run);

                    threads[i].Name = pPath[i];

                    threads[i].Start();

                    Console.WriteLine(threads[i].Name);

                }

            }

            catch(Exception Ex)

            {

                Console.WriteLine(Ex.Message);

            }

        }

        static void Run()

        {

            Run(Thread.CurrentThread.Name);

        }

        static void Run(string pPath)

        {

            FileSystemWatcher fsw = new FileSystemWatcher(pPath);

            fsw.Filter = "*.*";//监控所有类型,包括子文件夹

            fsw.NotifyFilter = NotifyFilters.DirectoryName | NotifyFilters.LastAccess | NotifyFilters.LastWrite;

            fsw.Changed += new FileSystemEventHandler(OnChanged);

            fsw.Created += new FileSystemEventHandler(OnCreated);

            fsw.Deleted += new FileSystemEventHandler(OnDeleted);

            fsw.Renamed += new RenamedEventHandler(OnRenamed);

            fsw.EnableRaisingEvents = true;//开启监控

        }

        static void OnChanged(object source,FileSystemEventArgs e)

        {

            Console.WriteLine("File: " + e.FullPath + " " + e.ChangeType);

        }

        static void OnCreated(object source,FileSystemEventArgs e)

        {

            Console.WriteLine("File: " + e.FullPath + " " + e.ChangeType);

        }

        static void OnDeleted(object source,FileSystemEventArgs e)

        {

            Console.WriteLine("File: " + e.FullPath + " " + e.ChangeType);

        }

        static void OnRenamed(object source, RenamedEventArgs e)

        {

            Console.WriteLine("File: {0} renamed to {1}", e.OldFullPath, e.FullPath);

        }

    }

}

请指教!

多线程监控文件夹,FlieSystemWatcher,并使用共享函数

时间: 2024-10-08 13:10:42

多线程监控文件夹,FlieSystemWatcher,并使用共享函数的相关文章

Storm监控文件夹变化 统计文件单词数量

监控指定文件夹,读取文件(新文件动态读取)里的内容,统计单词的数量. FileSpout.java,监控文件夹,读取新文件内容 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65

.Net 监控文件夹是否有新文件生成,并确认文件没有被其他程序占用

监控文件夹测试程序: 1 using System; 2 using System.Collections.Generic; 3 using System.IO; 4 using System.Linq; 5 using System.Text; 6 using System.Threading; 7 using System.Threading.Tasks; 8 9 namespace FileSystemWatcherTest 10 { 11 class Program 12 { 13 st

ReadDirectoryChanges实现监控文件夹

#include <tchar.h> #include <stdio.h> #include <Windows.h> #include <assert.h> #include <locale> #pragma warning(disable: 4995) #pragma warning(disable: 4996) #include "adkprecomp.h" #include "adkfile.h" i

Python 的 pyinotify 模块 监控文件夹和文件的变动

官方参考: https://github.com/seb-m/pyinotify/wiki/Events-types https://github.com/seb-m/pyinotify/wiki/Install 最近在网上看到python有个pyinotify模块,其中他们可以监控文件夹内的文件的创建,修改,读取,删除等系列操作,我修改了下,添加了可以吧操作记录写到日志里的一点方法,下面就贴出代码了给大家分享下:#!/usr/bin/env python ? 01 02 03 04 05 06

delphi监控文件夹

(****************************************** 文件和目录监控 当磁盘上有文件或目录操作时,产生事件 使用方法: 开始监控: PathWatch(Self.Handle, 'C:\FtpFolder'); 解除监控:PathWatch(-1); 在窗体中加消息监听 private { Private declarations } procedure MsgListern(var Msg:TMessage);message WM_SHNOTIFY; 实现:

使用TheFolderSpy监控文件夹的变化-邮件通知

一.概述 当我们的文档或者代码文件发布在公网.共享文件夹中,其他用户具备访问或修改的权限时,就存在文档被覆盖或删除的分享.另外一个典型的场景,发布在Web服务器上的网页文件,在网站版本不更新的时间,服务器上的文件一般保持不变,如果出现异常的变更,一般是由于遭到了黑客攻击,如果我们能够对站点中的文件变更得到实时通知,这对与服务器的安全无疑是非常有利的. 如果共享文档的存储服务器是类似TFS.SharePoint Server等具备版本管理功能的软件,我们还可以通过应用软件自带的版本功能恢复文件,也

DotNetCore跨平台~Quartz热部署的福音~监控文件夹的变化

回到目录 在DotNetCore出来之后,同时也使用了quartz进行调度中心的设计,将它做到docker里方便部署,在之前的quartz版本里支持配置文件的方式,而现在不支持了,我们应该去想一下,为什么不去支持配置文件?当然大叔也为配置文件设计了支持的方式,但我们还是应该想想作者为什么不去支持配置? 热支持,服务发现? 和上面两个概念可能有点关系,热插拔很容易理解,就是把dll模块放到正在运行的项目时,它可以直接启动,这个功能对调度中心来说,很是必要,因为你可能需要按着不同的功能设计一些服务j

C#监控文件夹变化

当需要监控某一文件,FileSystemWatcher类提供了Created, Deleted,Rename等事件. 就拿FileSystemWatcher的Created事件来说,该事件类型是FileSystemEventHandler. public delgate void FileSystemEventHandler(Object sender, FileSystemEventArgs e) ○ sender表示事件的发起者○ e表示事件参数 在C盘创建temp文件夹. 客户端. cla

C# FileSystemWatcher 在监控文件夹和文件时的用法

概述 最近学习FileSystemWatcher的用法,它主要是监控一个文件夹,当文件夹内的文件要是有更改就要记录下来,我就整理下我对FileSystemWatcher 的理解和用法. FileSystemWatcher 用法 在应用FileSystemWatcher对象之前,你必须了解这个对象的一些基本属性和事件.毫无疑问,这个对象的最重要的属性为“EnableRaisingEvents”属性. 这个属性决定对象在收到改变通知时是否提交事件.如果EnableRaisingEvents属性设为假