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

            我希望你是我獨(dú)家記憶

            一段永遠(yuǎn)封存的記憶,隨風(fēng)而去
            posts - 263, comments - 31, trackbacks - 0, articles - 3
               :: 首頁(yè) :: 新隨筆 ::  :: 聚合  :: 管理

            FileWatch

            Posted on 2009-07-09 09:47 Hero 閱讀(503) 評(píng)論(0)  編輯 收藏 引用 所屬分類(lèi): 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            //檢測(cè)文件目錄是否存在
             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                //打開(kāi)寫(xiě)文件
             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                //顯示打開(kāi)的文件名字
            126                this.textBoxLocation.Text = openFileDialog1.FileName ;
            127
            128                //可以啟動(dòng)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}
            99精品久久精品一区二区| 亚洲国产成人久久综合碰碰动漫3d| 久久se精品一区二区影院| 99久久精品免费| 久久夜色精品国产| 一本一道久久综合狠狠老 | 精品国产乱码久久久久软件| 热久久国产欧美一区二区精品| 伊人久久亚洲综合影院| 无码久久精品国产亚洲Av影片| 久久精品成人免费看| 久久久久女教师免费一区| 一本久道久久综合狠狠爱| 国产精品久久毛片完整版| 久久久噜噜噜久久中文字幕色伊伊| 欧美伊人久久大香线蕉综合| 国产精品久久久久久吹潮| 国产精品热久久毛片| 久久有码中文字幕| 青草国产精品久久久久久| 777久久精品一区二区三区无码 | 91亚洲国产成人久久精品网址| 久久丝袜精品中文字幕| 欧美大香线蕉线伊人久久| 成人亚洲欧美久久久久| 亚洲精品无码久久久久| 久久精品成人免费国产片小草| 无码人妻久久久一区二区三区| 国产国产成人久久精品| 久久久久人妻一区精品色| 色婷婷噜噜久久国产精品12p| 99久久精品国产免看国产一区| 久久福利资源国产精品999| 91久久福利国产成人精品| 亚洲色大成网站WWW久久九九| 久久精品亚洲男人的天堂| 国产精品99久久99久久久| 国产精品久久久久久久久软件 | 久久久久亚洲av无码专区喷水| 香蕉99久久国产综合精品宅男自 | 亚洲午夜久久久久妓女影院|