Search code examples
c#filesystemwatcher

Which filter of FileSystemWatcher do I need to use for finding new files


So far I know that FileSystemWatcher can look into a folder and if any of the files inside that folder is changed,modifies,.etc... then we can handle it. But I am not sure which filter and event I should use in my scenario: Watch for a Folder, If a file is added to that folder, do XYZ ... So In my scenario I don't care if an existing file is changed,etc..those should be ignored...only do XYZ if and only if a new file has been added to that Folder...

Which event and filter do you recommended for this scenario?


Solution

  • Set up the watcher:

    FileSystemWatcher watcher = new FileSystemWatcher();
    watcher.Path = "Blah";
    
    watcher.NotifyFilter = NotifyFilters.LastAccess | NotifyFilters.LastWrite
        | NotifyFilters.FileName;
    
    watcher.Created += new FileSystemEventHandler(OnChanged);
    
    watcher.EnableRaisingEvents = true;
    

    Then implement the FileCreated delegate:

    private void OnChanged(object source, FileSystemEventArgs e) {
        Console.WriteLine("File: " +  e.FullPath + " " + e.ChangeType);
    }