• <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 閱讀(514) 評論(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}
            久久国产精品视频| 国产精品禁18久久久夂久| 久久久久亚洲AV成人网| 波多野结衣久久| 久久无码人妻一区二区三区 | www久久久天天com| 久久WWW免费人成—看片| 亚洲综合精品香蕉久久网| 亚洲午夜精品久久久久久人妖| 色播久久人人爽人人爽人人片aV| 伊人久久大香线蕉综合影院首页| 国产69精品久久久久99| 免费精品久久天干天干| 久久久久九九精品影院| 97久久天天综合色天天综合色hd| 亚洲AV伊人久久青青草原| 热久久这里只有精品| 久久青青草原亚洲av无码app| 久久久人妻精品无码一区| 久久久久99精品成人片三人毛片| 日产精品久久久久久久性色| 三级片免费观看久久| 国内精品久久久久久不卡影院 | 国产免费久久精品99久久| 国产成年无码久久久久毛片| 婷婷久久久亚洲欧洲日产国码AV| 四虎亚洲国产成人久久精品| 久久久久人妻一区二区三区| 久久免费大片| 国产人久久人人人人爽| 国内精品久久久久久麻豆| 天天躁日日躁狠狠久久| 久久丝袜精品中文字幕| 久久亚洲私人国产精品vA| 久久国产成人亚洲精品影院| 人妻无码αv中文字幕久久| 久久精品中文字幕久久| 亚洲中文字幕无码久久2017| 精品国产一区二区三区久久蜜臀 | 日韩久久无码免费毛片软件| 久久亚洲精品无码VA大香大香|