子育てエンジニアブログ

子育てに励むシステムエンジニア(SE)のブログ

【C#】C#で特定のフォルダに新しくファイルができたか監視する方法

今日は、C#で特定のフォルダに新しくファイルが作成されたか監視する方法についてです。

新しくファイルが作成されてから処理を開始したいときがありますよね。
そういう時にどうやるかですが、FileSystemWatcherクラスという便利なクラスがあったのでそれを使って実現してみました。

プログラムは次のようになりました。

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Monitoring
{
    class Program
    {
        static void Main(string[] args)
        {

            //監視対象のフォルダ
            string targetFolder = @"c:\test";

            FileSystemWatcher fsw = new FileSystemWatcher(targetFolder);
            WaitForChangedResult folderChange = fsw.WaitForChanged(WatcherChangeTypes.All);

            //ファイルが新しく作成されたら処理
            if (folderChange.ChangeType == WatcherChangeTypes.Created) {
                try
                {
                    Console.WriteLine("ファイルが作成されました");
                }
                catch (Exception e)
                {
                    Console.WriteLine(e.Message);
                }
            }
           
        }
    }
}