• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            我希望你是我獨家記憶

            一段永遠封存的記憶,隨風而去
            posts - 263, comments - 31, trackbacks - 0, articles - 3
               :: 首頁 :: 新隨筆 ::  :: 聚合  :: 管理

            FileWatch

            Posted on 2009-07-09 09:47 Hero 閱讀(507) 評論(0)  編輯 收藏 引用 所屬分類: C#積累
              1using System;
              2using System.Collections.Generic;
              3using System.ComponentModel;
              4using System.Data;
              5using System.Drawing;
              6using System.Text;
              7using System.Windows.Forms;
              8
              9using System.IO;
             10
             11namespace FileWatch
             12{
             13    public partial class Form1 : Form
             14    {
             15        //FileSystemWatcher object
             16        private FileSystemWatcher filewatcher;
             17        //聲明委托
             18        private delegate void UpdateWatchTextDelegate( string newText );
             19
             20        public Form1()
             21        {
             22            InitializeComponent();
             23
             24            this.filewatcher = new FileSystemWatcher();
             25
             26            //添加事件訂閱
             27            this.filewatcher.Deleted += new FileSystemEventHandler(filewatcher_Deleted);
             28            this.filewatcher.Renamed += new RenamedEventHandler(filewatcher_Renamed);
             29            this.filewatcher.Changed += new FileSystemEventHandler(filewatcher_Changed);
             30            this.filewatcher.Created += new FileSystemEventHandler(filewatcher_Created); 
             31
             32            //檢測文件目錄是否存在
             33            DirectoryInfo dirInfo = new DirectoryInfo( @"C:\FileLogs" ) ;
             34            if!dirInfo.Exists ) { dirInfo.Create() ; }
             35        }

             36
             37        //異步更新labelWatch中的文本
             38        public void UpdateWatchText( string newText )
             39        {
             40            labelWatch.Text = newText;
             41        }

             42
             43        //定義事件處理器
             44        public void filewatcher_Changed( object source, FileSystemEventArgs e )
             45        {
             46            try
             47            {
             48                StreamWriter streamwriter = new StreamWriter( @"C:\FileLogs\Log.txt"true ) ;
             49                streamwriter.WriteLine( "File: {0} {1}", e.FullPath, e.ChangeType.ToString() ) ;
             50
             51                streamwriter.Close() ;
             52
             53                this.BeginInvoke( new UpdateWatchTextDelegate(UpdateWatchText), "Wrote change event to log" ) ;
             54            }

             55            catch (IOException ex)
             56            {
             57                this.BeginInvoke( new UpdateWatchTextDelegate(UpdateWatchText), "Error writing to log" )    ;
             58            }

             59
             60        }

             61
             62        public void filewatcher_Renamed( object source, RenamedEventArgs e )
             63        {
             64            try
             65            
             66                StreamWriter streamwrite = new StreamWriter( @"C:\FileLogs\Log.txt"true ) ;
             67
             68                streamwrite.WriteLine( "File renamed from {0} to {1}", e.OldName, e.FullPath ) ;
             69
             70                streamwrite.Close() ;
             71
             72                this.BeginInvoke( new UpdateWatchTextDelegate( UpdateWatchText ), "wrote renamed event to log" ) ;
             73
             74            }

             75            catch (IOException ex)
             76            {
             77                this.BeginInvoke( new UpdateWatchTextDelegate(UpdateWatchText), "Error writing to log" ) ;
             78            }

             79        }

             80
             81        public void filewatcher_Deleted( object source, FileSystemEventArgs e )
             82        {
             83            try
             84            {
             85                //打開寫文件
             86                StreamWriter streamwriter = new StreamWriter( @"C:\FileLogs\Log.txt"true ) ;
             87                streamwriter.WriteLine( "File : {0} deleted", e.FullPath ) ;
             88
             89                streamwriter.Close() ;
             90
             91                this.BeginInvoke( new UpdateWatchTextDelegate(UpdateWatchText), "wrote delete event to log" ) ;
             92
             93            }

             94            catch (IOException ex)
             95            {
             96                this.BeginInvoke( new UpdateWatchTextDelegate(UpdateWatchText), "Error writing to log" ) ;
             97            }

             98        }

             99
            100        public void filewatcher_Created( object source, FileSystemEventArgs e )
            101        {
            102            try
            103            {
            104                StreamWriter streamwriter = new StreamWriter( @"C:\FileLogs\Log.txt"true ) ;
            105                streamwriter.WriteLine( "File : {0} was created", e.FullPath ) ;
            106                streamwriter.Close() ;
            107
            108                this.BeginInvoke( new UpdateWatchTextDelegate( UpdateWatchText), "wrote create to log" ) ;
            109            }

            110            catch (IOException ex)
            111            {
            112                this.BeginInvoke( new UpdateWatchTextDelegate(UpdateWatchText), "Erroe writing to log" ) ;
            113            }

            114        }

            115
            116        private void Form1_Load( object sender, EventArgs e )
            117        {
            118
            119        }

            120
            121        private void buttonBrowse_Click(object sender, EventArgs e)
            122        {
            123            if( openFileDialog1.ShowDialog() != DialogResult.Cancel )
            124            {
            125                //顯示打開的文件名字
            126                this.textBoxLocation.Text = openFileDialog1.FileName ;
            127
            128                //可以啟動watch按鈕
            129                buttonWatch.Enabled = true ;
            130            }

            131        }

            132
            133        private void buttonWatch_Click(object sender, EventArgs e)
            134        {
            135            //獲取監視的路徑
            136            filewatcher.Path = Path.GetDirectoryName( textBoxLocation.Text ) ;
            137            //filewatcher.Filter = Path.GetFileName( textBoxLocation.Text ) ;
            138            filewatcher.Filter = "*.txt";
            139            filewatcher.NotifyFilter = NotifyFilters.LastWrite | NotifyFilters.FileName | NotifyFilters.Size | NotifyFilters.CreationTime | NotifyFilters.LastAccess ;
            140
            141            labelWatch.Text = "watching " + textBoxLocation.Text ;
            142
            143            //begin watching
            144            filewatcher.EnableRaisingEvents = true ;
            145        }

            146    }

            147}
            久久人妻无码中文字幕| 亚洲精品高清一二区久久| 久久一本综合| 99热热久久这里只有精品68| 色综合久久无码五十路人妻| 热久久最新网站获取| 久久精品人妻一区二区三区| 99久久免费国产精品| www.久久精品| 99久久精品免费看国产一区二区三区 | 日产精品久久久久久久| 久久成人精品视频| 久久久久久久综合日本亚洲| 日本精品久久久中文字幕| 欧美777精品久久久久网| 国产2021久久精品| 欧美激情精品久久久久久| 一级做a爰片久久毛片免费陪 | 91久久精品电影| 精品国产综合区久久久久久 | 亚洲乱码日产精品a级毛片久久 | 老司机午夜网站国内精品久久久久久久久 | 亚洲国产高清精品线久久| 内射无码专区久久亚洲| 久久无码AV一区二区三区| 无码久久精品国产亚洲Av影片| 久久久久久久97| 久久91精品国产91久久麻豆| 99热热久久这里只有精品68| 日产精品久久久久久久| 久久99精品国产自在现线小黄鸭| 亚洲综合久久综合激情久久 | 欧美日韩精品久久久久| 久久综合给合久久国产免费| 丁香久久婷婷国产午夜视频| 久久99久国产麻精品66| 国产精品无码久久四虎| 日韩人妻无码精品久久免费一| 国产农村妇女毛片精品久久| 午夜欧美精品久久久久久久| 久久九色综合九色99伊人|