FileSystemWatcher Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mendengarkan pemberitahuan perubahan sistem file dan memunculkan peristiwa saat direktori, atau file dalam direktori, berubah.
public ref class FileSystemWatcher : System::ComponentModel::Component, System::ComponentModel::ISupportInitialize
public ref class FileSystemWatcher : IDisposable
public class FileSystemWatcher : System.ComponentModel.Component, System.ComponentModel.ISupportInitialize
public class FileSystemWatcher : IDisposable
[System.IO.IODescription("FileSystemWatcherDesc")]
public class FileSystemWatcher : System.ComponentModel.Component, System.ComponentModel.ISupportInitialize
type FileSystemWatcher = class
inherit Component
interface ISupportInitialize
type FileSystemWatcher = class
interface IDisposable
[<System.IO.IODescription("FileSystemWatcherDesc")>]
type FileSystemWatcher = class
inherit Component
interface ISupportInitialize
Public Class FileSystemWatcher
Inherits Component
Implements ISupportInitialize
Public Class FileSystemWatcher
Implements IDisposable
- Warisan
- Warisan
-
FileSystemWatcher
- Atribut
- Penerapan
Contoh
Contoh berikut membuat FileSystemWatcher untuk watch direktori yang ditentukan pada durasi. Komponen diatur ke watch untuk perubahan waktu LastWrite
dan LastAccess
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.
#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
Keterangan
Untuk informasi selengkapnya tentang API ini, lihat Keterangan API Tambahan untuk FileSystemWatcher.
Konstruktor
FileSystemWatcher() |
Menginisialisasi instans baru kelas FileSystemWatcher. |
FileSystemWatcher(String) |
Menginisialisasi instans FileSystemWatcher baru kelas , mengingat direktori yang ditentukan untuk dipantau. |
FileSystemWatcher(String, String) |
Menginisialisasi instans FileSystemWatcher baru kelas , mengingat direktori dan jenis file yang ditentukan untuk dipantau. |
Properti
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. |
Filters |
Mendapatkan koleksi semua 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 ke watch. |
Path |
Mendapatkan atau mengatur jalur direktori ke watch. |
Site |
Mendapatkan atau mengatur ISite untuk FileSystemWatcher. |
SynchronizingObject |
Mendapatkan atau mengatur objek yang digunakan untuk marshal panggilan penanganan aktivitas yang dikeluarkan sebagai akibat dari perubahan direktori. |
Metode
BeginInit() |
Memulai inisialisasi yang FileSystemWatcher digunakan pada formulir atau digunakan oleh komponen lain. Inisialisasi terjadi pada durasi. |
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 sumber daya tidak terkelola yang digunakan oleh FileSystemWatcher. |
Dispose() |
Merilis semua sumber daya yang Componentdigunakan oleh . (Diperoleh dari Component) |
Dispose(Boolean) |
Merilis sumber daya tidak terkelola yang digunakan oleh FileSystemWatcher dan secara opsional merilis sumber daya terkelola. |
EndInit() |
Mengakhiri inisialisasi yang FileSystemWatcher digunakan pada formulir atau digunakan oleh komponen lain. Inisialisasi terjadi pada durasi. |
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() |
Kedaluwarsa.
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 dari instans Type saat ini. (Diperoleh dari Object) |
InitializeLifetimeService() |
Kedaluwarsa.
Mendapatkan objek layanan seumur hidup untuk mengontrol kebijakan seumur hidup untuk instans ini. (Diperoleh dari MarshalByRefObject) |
MemberwiseClone() |
Membuat salinan dangkal dari saat ini Object. (Diperoleh dari Object) |
MemberwiseClone(Boolean) |
Membuat salinan dangkal objek saat ini MarshalByRefObject . (Diperoleh dari MarshalByRefObject) |
OnChanged(FileSystemEventArgs) |
Memunculkan kejadian Changed. |
OnCreated(FileSystemEventArgs) |
Memunculkan kejadian Created. |
OnDeleted(FileSystemEventArgs) |
Memunculkan kejadian Deleted. |
OnError(ErrorEventArgs) |
Memunculkan kejadian Error. |
OnRenamed(RenamedEventArgs) |
Memunculkan kejadian Renamed. |
ToString() |
Mengembalikan yang String berisi nama Component, jika ada. Metode ini tidak boleh ditimpa. (Diperoleh dari Component) |
ToString() |
Mengembalikan string yang mewakili objek saat ini. (Diperoleh dari Object) |
WaitForChanged(WatcherChangeTypes) |
Metode sinkron yang mengembalikan struktur yang berisi informasi spesifik tentang perubahan yang terjadi, mengingat jenis perubahan yang ingin Anda pantau. |
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, TimeSpan) |
Secara sinkron mengembalikan struktur yang berisi informasi tertentu tentang perubahan yang terjadi, mengingat jenis perubahan yang akan dipantau. |
Acara
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. |