Export (0) Print
Expand All
2 out of 2 rated this helpful - Rate this topic

FileSystemWatcher Constructor

.NET Framework 1.1

Initializes a new instance of the FileSystemWatcher class.

Overload List

Initializes a new instance of the FileSystemWatcher class.

[Visual Basic] Public Sub New()
[C#] public FileSystemWatcher();
[C++] public: FileSystemWatcher();
[JScript] public function FileSystemWatcher();

Initializes a new instance of the FileSystemWatcher class, given the specified directory to monitor.

[Visual Basic] Public Sub New(String)
[C#] public FileSystemWatcher(string);
[C++] public: FileSystemWatcher(String*);
[JScript] public function FileSystemWatcher(String);

Initializes a new instance of the FileSystemWatcher class, given the specified directory and type of files to monitor.

[Visual Basic] Public Sub New(String, String)
[C#] public FileSystemWatcher(string, string);
[C++] public: FileSystemWatcher(String*, String*);
[JScript] public function FileSystemWatcher(String, String);

Example

[Visual Basic, C#, C++] The following example creates a FileSystemWatcher to watch the directory specified at runtime. The component is set to watch for changes in LastWrite and LastAccess time, the creation, deletion, or renaming of text files in the directory. If a file is changed, created, or deleted, the path to the file prints to the console. When a file is renamed, the old and new paths print to the console.

[Visual Basic, C#, C++] Use the System.Diagnostics and System.IO namespaces for this example.

[Visual Basic, C#, C++] Note   This example shows how to use one of the overloaded versions of the FileSystemWatcher constructor. For other examples that might be available, see the individual overload topics.
[Visual Basic] 
Public Class Watcher
    
    Public Shared Sub Main()
        Dim args() As String = System.Environment.GetCommandLineArgs()
        ' If a directory is not specified, exit the program.
        If args.Length <> 2 Then
            ' Display the proper way to call the program.
            Console.WriteLine("Usage: Watcher.exe (directory)")
            Return
        End If
        
        ' Create a new FileSystemWatcher and set its properties.
        Dim watcher As New FileSystemWatcher()
        watcher.Path = args(1)
        ' Watch for changes in LastAccess and LastWrite times, and
        ' the renaming of files or directories. 
        watcher.NotifyFilter = (NotifyFilters.LastAccess Or NotifyFilters.LastWrite Or NotifyFilters.FileName Or NotifyFilters.DirectoryName)
        ' Only watch text files.
        watcher.Filter = "*.txt"
        
        ' Add event handlers.
        AddHandler watcher.Changed, AddressOf OnChanged
        AddHandler watcher.Created, AddressOf OnChanged
        AddHandler watcher.Deleted, AddressOf OnChanged
        AddHandler watcher.Renamed, AddressOf OnRenamed
        
        ' Begin watching.
        watcher.EnableRaisingEvents = True
        
        ' Wait for the user to quit the program.
        Console.WriteLine("Press 'q' to quit the sample.")
        While Chr(Console.Read()) <> "q"c
        End While
    End Sub
     
    ' Define the event handlers.
    Private Shared Sub OnChanged(source As Object, e As FileSystemEventArgs)
        ' Specify what is done when a file is changed, created, or deleted.
        Console.WriteLine("File: " & e.FullPath & " " & e.ChangeType)
    End Sub    
    
    Private Shared Sub OnRenamed(source As Object, e As RenamedEventArgs)
        ' Specify what is done when a file is renamed.
        Console.WriteLine("File: {0} renamed to {1}", e.OldFullPath, e.FullPath)
    End Sub
    
End Class


[C#] 
public class Watcher
{

    public static void Main()
    {

        string[] args = System.Environment.GetCommandLineArgs();
 
        // If a directory is not specified, exit program.
        if(args.Length != 2)
        {
            // Display the proper way to call the program.
            Console.WriteLine("Usage: Watcher.exe (directory)");
            return;
        }

        // Create a new FileSystemWatcher and set its properties.
        FileSystemWatcher watcher = new FileSystemWatcher();
        watcher.Path = args[1];
        /* Watch for changes in LastAccess and LastWrite times, and 
           the renaming of files or directories. */
        watcher.NotifyFilter = NotifyFilters.LastAccess | NotifyFilters.LastWrite 
           | NotifyFilters.FileName | NotifyFilters.DirectoryName;
        // Only watch text files.
        watcher.Filter = "*.txt";

        // Add event handlers.
        watcher.Changed += new FileSystemEventHandler(OnChanged);
        watcher.Created += new FileSystemEventHandler(OnChanged);
        watcher.Deleted += new FileSystemEventHandler(OnChanged);
        watcher.Renamed += new RenamedEventHandler(OnRenamed);

        // Begin watching.
        watcher.EnableRaisingEvents = true;

        // Wait for the user to quit the program.
        Console.WriteLine("Press \'q\' to quit the sample.");
        while(Console.Read()!='q');
    }

    // Define the event handlers.
    private static void OnChanged(object source, FileSystemEventArgs e)
    {
        // Specify what is done when a file is changed, created, or deleted.
       Console.WriteLine("File: " +  e.FullPath + " " + e.ChangeType);
    }

    private static void OnRenamed(object source, RenamedEventArgs e)
    {
        // Specify what is done when a file is renamed.
        Console.WriteLine("File: {0} renamed to {1}", e.OldFullPath, e.FullPath);
    }
}


[C++] 
public __gc class Watcher
{
public:
    // Define the event handlers.
    static void OnChanged(Object* /*source*/, FileSystemEventArgs* e)
    {
        // Specify what is done when a file is changed, created, or deleted.
        Console::WriteLine(S"File: {0} {1}", e->FullPath, __box(e->ChangeType));
    }

    static void OnRenamed(Object* /*source*/, RenamedEventArgs* e)
    {
        // Specify what is done when a file is renamed.
        Console::WriteLine(S"File: {0} renamed to {1}", e->OldFullPath, e->FullPath);
    }
};


int main()
{

    String* args[] = System::Environment::GetCommandLineArgs();

    // If a directory is not specified, exit program.
    if(args->Length != 2)
    {
        // Display the proper way to call the program.
        Console::WriteLine(S"Usage: Watcher.exe (directory)");
        return 0;
    }

    // Create a new FileSystemWatcher and set its properties.
    FileSystemWatcher* watcher = new FileSystemWatcher();
    watcher->Path = args[1];
    /* Watch for changes in LastAccess and LastWrite times, and 
    the renaming of files or directories. */
    watcher->NotifyFilter = static_cast<NotifyFilters>( NotifyFilters::LastAccess | NotifyFilters::LastWrite 
        | NotifyFilters::FileName | NotifyFilters::DirectoryName );
    // Only watch text files.
    watcher->Filter = S"*.txt";

    // Add event handlers.
    watcher->Changed += new FileSystemEventHandler(0, Watcher::OnChanged);
    watcher->Created += new FileSystemEventHandler(0, Watcher::OnChanged);
    watcher->Deleted += new FileSystemEventHandler(0, Watcher::OnChanged);
    watcher->Renamed += new RenamedEventHandler(0, Watcher::OnRenamed);

    // Begin watching.
    watcher->EnableRaisingEvents = true;

    // Wait for the user to quit the program.
    Console::WriteLine(S"Press \'q\' to quit the sample.");
    while(Console::Read()!='q');
}

[JScript] No example is available for JScript. To view a Visual Basic, C#, or C++ example, click the Language Filter button Language Filter in the upper-left corner of the page.

See Also

FileSystemWatcher Class | FileSystemWatcher Members | System.IO Namespace

Did you find this helpful?
(1500 characters remaining)
Thank you for your feedback
Show:
© 2014 Microsoft. All rights reserved.