FileSystemWatcher Oluşturucular

Tanım

FileSystemWatcher sınıfının yeni bir örneğini başlatır.

Aşırı Yüklemeler

FileSystemWatcher()

FileSystemWatcher sınıfının yeni bir örneğini başlatır.

FileSystemWatcher(String)

İzlenecek belirtilen dizine göre sınıfının yeni bir örneğini FileSystemWatcher başlatır.

FileSystemWatcher(String, String)

belirtilen dizin ve izlenecek dosya türüne göre sınıfının yeni bir örneğini FileSystemWatcher başlatır.

FileSystemWatcher()

FileSystemWatcher sınıfının yeni bir örneğini başlatır.

public:
 FileSystemWatcher();
public FileSystemWatcher ();
Public Sub New ()

Örnekler

Aşağıdaki örnek, çalışma zamanında belirtilen dizini izlemek için bir FileSystemWatcher nesne oluşturur. FileSystemWatcher nesnesi, ve LastAccess zamanlarındaki değişiklikleri ve dizindeki LastWrite metin dosyalarının oluşturulmasını, silinmesini veya yeniden adlandırılmasını izler. Bir dosya değiştirilir, oluşturulur veya silinirse, dosyanın yolu konsolda görüntülenir. Bir dosya yeniden adlandırıldığında, eski ve yeni yollar konsolda görüntülenir.

Bu örnekte ve System.IO ad alanları kullanılırSystem.Diagnostics.

#include "pch.h"

using namespace System;
using namespace System::IO;

class MyClassCPP
{
public:

    int static Run()
    {
        FileSystemWatcher^ watcher = gcnew FileSystemWatcher("C:\\path\\to\\folder");

        watcher->NotifyFilter = static_cast<NotifyFilters>(NotifyFilters::Attributes
                                                         | NotifyFilters::CreationTime
                                                         | NotifyFilters::DirectoryName
                                                         | NotifyFilters::FileName
                                                         | NotifyFilters::LastAccess
                                                         | NotifyFilters::LastWrite
                                                         | NotifyFilters::Security
                                                         | NotifyFilters::Size);

        watcher->Changed += gcnew FileSystemEventHandler(MyClassCPP::OnChanged);
        watcher->Created += gcnew FileSystemEventHandler(MyClassCPP::OnCreated);
        watcher->Deleted += gcnew FileSystemEventHandler(MyClassCPP::OnDeleted);
        watcher->Renamed += gcnew RenamedEventHandler(MyClassCPP::OnRenamed);
        watcher->Error   += gcnew ErrorEventHandler(MyClassCPP::OnError);

        watcher->Filter = "*.txt";
        watcher->IncludeSubdirectories = true;
        watcher->EnableRaisingEvents = true;

        Console::WriteLine("Press enter to exit.");
        Console::ReadLine();

        return 0;
    }

private:

    static void OnChanged(Object^ sender, FileSystemEventArgs^ e)
    {
        if (e->ChangeType != WatcherChangeTypes::Changed)
        {
            return;
        }
        Console::WriteLine("Changed: {0}", e->FullPath);
    }

    static void OnCreated(Object^ sender, FileSystemEventArgs^ e)
    {
        Console::WriteLine("Created: {0}", e->FullPath);
    }

    static void OnDeleted(Object^ sender, FileSystemEventArgs^ e)
    {
        Console::WriteLine("Deleted: {0}", e->FullPath);
    }

    static void OnRenamed(Object^ sender, RenamedEventArgs^ e)
    {
        Console::WriteLine("Renamed:");
        Console::WriteLine("    Old: {0}", e->OldFullPath);
        Console::WriteLine("    New: {0}", e->FullPath);
    }

    static void OnError(Object^ sender, ErrorEventArgs^ e)
    {
        PrintException(e->GetException());
    }

    static void PrintException(Exception^ ex)
    {
        if (ex != nullptr)
        {
            Console::WriteLine("Message: {0}", ex->Message);
            Console::WriteLine("Stacktrace:");
            Console::WriteLine(ex->StackTrace);
            Console::WriteLine();
            PrintException(ex->InnerException);
        }
    }
};


int main()
{
    MyClassCPP::Run();
}
using System;
using System.IO;

namespace MyNamespace
{
    class MyClassCS
    {
        static void Main()
        {
            using var watcher = new FileSystemWatcher(@"C:\path\to\folder");

            watcher.NotifyFilter = NotifyFilters.Attributes
                                 | NotifyFilters.CreationTime
                                 | NotifyFilters.DirectoryName
                                 | NotifyFilters.FileName
                                 | NotifyFilters.LastAccess
                                 | NotifyFilters.LastWrite
                                 | NotifyFilters.Security
                                 | NotifyFilters.Size;

            watcher.Changed += OnChanged;
            watcher.Created += OnCreated;
            watcher.Deleted += OnDeleted;
            watcher.Renamed += OnRenamed;
            watcher.Error += OnError;

            watcher.Filter = "*.txt";
            watcher.IncludeSubdirectories = true;
            watcher.EnableRaisingEvents = true;

            Console.WriteLine("Press enter to exit.");
            Console.ReadLine();
        }

        private static void OnChanged(object sender, FileSystemEventArgs e)
        {
            if (e.ChangeType != WatcherChangeTypes.Changed)
            {
                return;
            }
            Console.WriteLine($"Changed: {e.FullPath}");
        }

        private static void OnCreated(object sender, FileSystemEventArgs e)
        {
            string value = $"Created: {e.FullPath}";
            Console.WriteLine(value);
        }

        private static void OnDeleted(object sender, FileSystemEventArgs e) =>
            Console.WriteLine($"Deleted: {e.FullPath}");

        private static void OnRenamed(object sender, RenamedEventArgs e)
        {
            Console.WriteLine($"Renamed:");
            Console.WriteLine($"    Old: {e.OldFullPath}");
            Console.WriteLine($"    New: {e.FullPath}");
        }

        private static void OnError(object sender, ErrorEventArgs e) =>
            PrintException(e.GetException());

        private static void PrintException(Exception? ex)
        {
            if (ex != null)
            {
                Console.WriteLine($"Message: {ex.Message}");
                Console.WriteLine("Stacktrace:");
                Console.WriteLine(ex.StackTrace);
                Console.WriteLine();
                PrintException(ex.InnerException);
            }
        }
    }
}
Imports System.IO

Namespace MyNamespace

    Class MyClassVB

        Shared Sub Main()
            Using watcher = New FileSystemWatcher("C:\path\to\folder")
                watcher.NotifyFilter = NotifyFilters.Attributes Or
                                       NotifyFilters.CreationTime Or
                                       NotifyFilters.DirectoryName Or
                                       NotifyFilters.FileName Or
                                       NotifyFilters.LastAccess Or
                                       NotifyFilters.LastWrite Or
                                       NotifyFilters.Security Or
                                       NotifyFilters.Size

                AddHandler watcher.Changed, AddressOf OnChanged
                AddHandler watcher.Created, AddressOf OnCreated
                AddHandler watcher.Deleted, AddressOf OnDeleted
                AddHandler watcher.Renamed, AddressOf OnRenamed
                AddHandler watcher.Error, AddressOf OnError

                watcher.Filter = "*.txt"
                watcher.IncludeSubdirectories = True
                watcher.EnableRaisingEvents = True

                Console.WriteLine("Press enter to exit.")
                Console.ReadLine()
            End Using
        End Sub

        Private Shared Sub OnChanged(sender As Object, e As FileSystemEventArgs)
            If e.ChangeType <> WatcherChangeTypes.Changed Then
                Return
            End If
            Console.WriteLine($"Changed: {e.FullPath}")
        End Sub

        Private Shared Sub OnCreated(sender As Object, e As FileSystemEventArgs)
            Dim value As String = $"Created: {e.FullPath}"
            Console.WriteLine(value)
        End Sub

        Private Shared Sub OnDeleted(sender As Object, e As FileSystemEventArgs)
            Console.WriteLine($"Deleted: {e.FullPath}")
        End Sub

        Private Shared Sub OnRenamed(sender As Object, e As RenamedEventArgs)
            Console.WriteLine($"Renamed:")
            Console.WriteLine($"    Old: {e.OldFullPath}")
            Console.WriteLine($"    New: {e.FullPath}")
        End Sub

        Private Shared Sub OnError(sender As Object, e As ErrorEventArgs)
            PrintException(e.GetException())
        End Sub

        Private Shared Sub PrintException(ex As Exception)
            If ex IsNot Nothing Then
                Console.WriteLine($"Message: {ex.Message}")
                Console.WriteLine("Stacktrace:")
                Console.WriteLine(ex.StackTrace)
                Console.WriteLine()
                PrintException(ex.InnerException)
            End If
        End Sub

    End Class

End Namespace

Açıklamalar

Windows NT veya Windows 2000 olmayan bir uzak bilgisayarı izleyemezsiniz. Windows NT 4.0 bilgisayarından uzak Windows NT 4.0 bilgisayarı izleyemezsiniz.

Aşağıdaki tabloda, örneğinin ilk özellik değerleri gösterilmektedir FileSystemWatcher.

Özellik İlk Değer
NotifyFilter bit düzeyinde OR , ve birleşimi LastWrite``FileName``DirectoryName
EnableRaisingEvents false
Filter "*.*" (Tüm dosyaları izleyin.)
IncludeSubdirectories false
InternalBufferSize 8192
Path boş dize ("")

Not

Bileşen, ayarlanana kadar Path belirtilen dizini izlemez ve EnableRaisingEvents şeklindedir true.

Ayrıca bkz.

Şunlara uygulanır

FileSystemWatcher(String)

İzlenecek belirtilen dizine göre sınıfının yeni bir örneğini FileSystemWatcher başlatır.

public:
 FileSystemWatcher(System::String ^ path);
public FileSystemWatcher (string path);
new System.IO.FileSystemWatcher : string -> System.IO.FileSystemWatcher
Public Sub New (path As String)

Parametreler

path
String

Standart veya Evrensel Adlandırma Kuralı (UNC) gösteriminde izlenecek dizin.

Özel durumlar

path parametresidirnull.

path parametresi boş bir dizedir ("").

-veya- parametresi aracılığıyla path belirtilen yol yok.

path çok uzun.

Açıklamalar

Not

Bileşen, ayarlanana kadar Path belirtilen dizini izlemez ve EnableRaisingEvents şeklindedir true.

Bileşen kişisel bilgisayarınızdaki, ağ sürücünüzdeki veya uzak bilgisayarınızdaki dosyaları izleyebilir.

Windows NT veya Windows 2000 olmayan bir uzak bilgisayarı izleyemezsiniz. Windows NT 4.0 bilgisayarından uzak Windows NT 4.0 bilgisayarı izleyemezsiniz. Filter özelliği varsayılan olarak tüm dosyaları izleyecek şekilde ayarlanır.

Ayrıca bkz.

Şunlara uygulanır

FileSystemWatcher(String, String)

belirtilen dizin ve izlenecek dosya türüne göre sınıfının yeni bir örneğini FileSystemWatcher başlatır.

public:
 FileSystemWatcher(System::String ^ path, System::String ^ filter);
public FileSystemWatcher (string path, string filter);
new System.IO.FileSystemWatcher : string * string -> System.IO.FileSystemWatcher
Public Sub New (path As String, filter As String)

Parametreler

path
String

Standart veya Evrensel Adlandırma Kuralı (UNC) gösteriminde izlenecek dizin.

filter
String

İzleyebileceğiniz dosyaların türü. Örneğin, "*.txt" tüm metin dosyalarında yapılan değişiklikleri izler.

Özel durumlar

path parametresidirnull.

-veya- filter parametresidirnull.

path parametresi boş bir dizedir ("").

-veya- parametresi aracılığıyla path belirtilen yol yok.

path çok uzun.

Açıklamalar

Not

Bileşen, ayarlanana kadar Path belirtilen dizini izlemez ve EnableRaisingEvents şeklindedir true.

Bileşen kişisel bilgisayarınızdaki, ağ sürücünüzdeki veya uzak bilgisayarınızdaki dosyaları izleyebilir.

Windows NT veya Windows 2000 olmayan bir uzak bilgisayarı izleyemezsiniz. Windows NT 4.0 bilgisayarından uzak Windows NT 4.0 bilgisayarı izleyemezsiniz.

Ayrıca bkz.

Şunlara uygulanır