FileSystemWatcher Kelas

Definisi

Mendengarkan pemberitahuan perubahan sistem file dan menaikkan peristiwa saat direktori, atau file dalam direktori, berubah.

public ref class FileSystemWatcher : System::ComponentModel::Component, System::ComponentModel::ISupportInitialize
public class FileSystemWatcher : System.ComponentModel.Component, System.ComponentModel.ISupportInitialize
[System.IO.IODescription("FileSystemWatcherDesc")]
public class FileSystemWatcher : System.ComponentModel.Component, System.ComponentModel.ISupportInitialize
type FileSystemWatcher = class
    inherit Component
    interface ISupportInitialize
[<System.IO.IODescription("FileSystemWatcherDesc")>]
type FileSystemWatcher = class
    inherit Component
    interface ISupportInitialize
Public Class FileSystemWatcher
Inherits Component
Implements ISupportInitialize
Warisan
FileSystemWatcher
Atribut
Penerapan

Contoh

Contoh berikut membuat FileSystemWatcher untuk menonton direktori yang ditentukan pada waktu proses. Komponen diatur untuk mengawasi perubahan dan LastWriteLastAccess waktu, pembuatan, penghapusan, atau penggantian nama file teks di direktori. Jika file diubah, dibuat, atau dihapus, jalur ke file akan dicetak ke konsol. Saat file diganti namanya, jalur lama dan baru dicetak ke konsol.

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

Keterangan

Untuk informasi selengkapnya tentang API ini, lihat Keterangan API Tambahan untuk FileSystemWatcher.

Konstruktor

Nama Deskripsi
FileSystemWatcher()

Menginisialisasi instans baru dari kelas FileSystemWatcher.

FileSystemWatcher(String, String)

Menginisialisasi instans FileSystemWatcher baru kelas, mengingat direktori dan jenis file yang ditentukan untuk dipantau.

FileSystemWatcher(String)

Menginisialisasi instans FileSystemWatcher baru kelas, mengingat direktori yang ditentukan untuk dipantau.

Properti

Nama Deskripsi
CanRaiseEvents

Mendapatkan nilai yang menunjukkan apakah komponen dapat menaikkan peristiwa.

(Diperoleh dari Component)
Container

IContainer Mendapatkan yang berisi Component.

(Diperoleh dari Component)
DesignMode

Mendapatkan nilai yang menunjukkan apakah Component saat ini dalam mode desain.

(Diperoleh dari Component)
EnableRaisingEvents

Mendapatkan atau menetapkan nilai yang menunjukkan apakah komponen diaktifkan.

Events

Mendapatkan daftar penanganan aktivitas yang dilampirkan ke ini Component.

(Diperoleh dari Component)
Filter

Mendapatkan atau mengatur string filter yang digunakan untuk menentukan file apa yang dipantau dalam direktori.

IncludeSubdirectories

Mendapatkan atau menetapkan nilai yang menunjukkan apakah subdirektori dalam jalur yang ditentukan harus dipantau.

InternalBufferSize

Mendapatkan atau mengatur ukuran (dalam byte) dari buffer internal.

NotifyFilter

Mendapatkan atau mengatur jenis perubahan yang harus diwaspadai.

Path

Mendapatkan atau mengatur jalur direktori untuk ditonton.

Site

Mendapatkan atau mengatur ISite untuk FileSystemWatcher.

SynchronizingObject

Mendapatkan atau mengatur objek yang digunakan untuk melakukan marshal panggilan penanganan aktivitas yang dikeluarkan sebagai akibat dari perubahan direktori.

Metode

Nama Deskripsi
BeginInit()

Memulai inisialisasi yang FileSystemWatcher digunakan pada formulir atau digunakan oleh komponen lain. Inisialisasi terjadi pada waktu proses.

CreateObjRef(Type)

Membuat objek yang berisi semua informasi relevan yang diperlukan untuk menghasilkan proksi yang digunakan untuk berkomunikasi dengan objek jarak jauh.

(Diperoleh dari MarshalByRefObject)
Dispose()

Merilis semua sumber daya yang Componentdigunakan oleh .

(Diperoleh dari Component)
Dispose(Boolean)

Merilis sumber daya yang tidak dikelola yang FileSystemWatcher digunakan oleh dan secara opsional merilis sumber daya terkelola.

EndInit()

Mengakhiri inisialisasi yang FileSystemWatcher digunakan pada formulir atau digunakan oleh komponen lain. Inisialisasi terjadi pada waktu proses.

Equals(Object)

Menentukan apakah objek yang ditentukan sama dengan objek saat ini.

(Diperoleh dari Object)
GetHashCode()

Berfungsi sebagai fungsi hash default.

(Diperoleh dari Object)
GetLifetimeService()

Mengambil objek layanan seumur hidup saat ini yang mengontrol kebijakan seumur hidup untuk instans ini.

(Diperoleh dari MarshalByRefObject)
GetService(Type)

Mengembalikan objek yang mewakili layanan yang disediakan oleh Component atau oleh Container.

(Diperoleh dari Component)
GetType()

Mendapatkan Type instans saat ini.

(Diperoleh dari Object)
InitializeLifetimeService()

Mendapatkan objek layanan seumur hidup untuk mengontrol kebijakan seumur hidup untuk instans ini.

(Diperoleh dari MarshalByRefObject)
MemberwiseClone()

Membuat salinan dangkal dari Objectsaat ini.

(Diperoleh dari Object)
MemberwiseClone(Boolean)

Membuat salinan dangkal objek saat ini MarshalByRefObject .

(Diperoleh dari MarshalByRefObject)
OnChanged(FileSystemEventArgs)

Menaikkan Changed acara.

OnCreated(FileSystemEventArgs)

Menaikkan Created acara.

OnDeleted(FileSystemEventArgs)

Menaikkan Deleted acara.

OnError(ErrorEventArgs)

Menaikkan Error acara.

OnRenamed(RenamedEventArgs)

Menaikkan Renamed acara.

ToString()

Mengembalikan yang String berisi nama Component, jika ada. Metode ini tidak boleh ditimpa.

(Diperoleh dari Component)
WaitForChanged(WatcherChangeTypes, Int32)

Metode sinkron yang mengembalikan struktur yang berisi informasi spesifik tentang perubahan yang terjadi, mengingat jenis perubahan yang ingin Anda pantau dan waktu (dalam milidetik) untuk menunggu sebelum waktu habis.

WaitForChanged(WatcherChangeTypes)

Metode sinkron yang mengembalikan struktur yang berisi informasi tertentu tentang perubahan yang terjadi, mengingat jenis perubahan yang ingin Anda pantau.

Acara

Nama Deskripsi
Changed

Terjadi ketika file atau direktori dalam yang ditentukan Path diubah.

Created

Terjadi ketika file atau direktori dalam yang ditentukan Path dibuat.

Deleted

Terjadi ketika file atau direktori dalam yang ditentukan Path dihapus.

Disposed

Terjadi ketika komponen dibuang oleh panggilan ke Dispose() metode .

(Diperoleh dari Component)
Error

Terjadi ketika instans FileSystemWatcher tidak dapat melanjutkan pemantauan berubah atau ketika buffer internal meluap.

Renamed

Terjadi ketika file atau direktori dalam yang ditentukan Path diganti namanya.

Berlaku untuk

Lihat juga