• <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>

            我希望你是我獨家記憶

            一段永遠(yuǎn)封存的記憶,隨風(fēng)而去
            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            //獲取監(jiān)視的路徑
            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}
            欧美与黑人午夜性猛交久久久 | 久久国产精品免费一区二区三区 | 国产亚州精品女人久久久久久 | 伊人热热久久原色播放www| 亚洲国产成人久久综合区| 综合久久国产九一剧情麻豆| 久久综合给合久久狠狠狠97色69| 97久久国产亚洲精品超碰热| 久久久久国色AV免费观看| 伊人久久久AV老熟妇色| 久久国产精品久久久| 人人妻久久人人澡人人爽人人精品| 久久国产精品成人片免费| 久久性生大片免费观看性| 精品久久久久久亚洲精品 | 2020最新久久久视精品爱 | 99999久久久久久亚洲| 性做久久久久久久久| 久久99国产精品99久久| 亚洲精品无码专区久久久| 久久夜色撩人精品国产小说| 久久精品欧美日韩精品| 久久福利资源国产精品999| 色成年激情久久综合| 久久精品国产99久久无毒不卡| 一级做a爰片久久毛片看看| 91久久精品无码一区二区毛片| 久久中文骚妇内射| 久久中文字幕人妻丝袜| 久久夜色精品国产| 久久精品亚洲男人的天堂| 97超级碰碰碰久久久久| 久久婷婷五月综合色高清| 久久久久亚洲AV无码专区首JN| 欧美色综合久久久久久| 激情久久久久久久久久| 国产精品激情综合久久| 国产精品va久久久久久久| 久久国产免费| 一极黄色视频久久网站| 无码任你躁久久久久久|