FileSystemWatcher Konstruktory
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Inicjuje nowe wystąpienie klasy FileSystemWatcher.
Przeciążenia
FileSystemWatcher() |
Inicjuje nowe wystąpienie klasy FileSystemWatcher. |
FileSystemWatcher(String) |
Inicjuje FileSystemWatcher nowe wystąpienie klasy, biorąc pod uwagę określony katalog do monitorowania. |
FileSystemWatcher(String, String) |
Inicjuje FileSystemWatcher nowe wystąpienie klasy, biorąc pod uwagę określony katalog i typ plików do monitorowania. |
FileSystemWatcher()
- Źródło:
- FileSystemWatcher.cs
- Źródło:
- FileSystemWatcher.cs
- Źródło:
- FileSystemWatcher.cs
Inicjuje nowe wystąpienie klasy FileSystemWatcher.
public:
FileSystemWatcher();
public FileSystemWatcher ();
Public Sub New ()
Przykłady
W poniższym przykładzie zostanie utworzony FileSystemWatcher obiekt watch katalogu określonego w czasie wykonywania. Obiekt FileSystemWatcher obserwuje zmiany w LastWrite
czasie i LastAccess
oraz na potrzeby tworzenia, usuwania lub zmieniania nazw plików tekstowych w katalogu. Jeśli plik zostanie zmieniony, utworzony lub usunięty, ścieżka do pliku zostanie wyświetlona w konsoli programu . Po zmianie nazwy pliku stare i nowe ścieżki są wyświetlane w konsoli programu .
W tym przykładzie użyto System.Diagnostics przestrzeni nazw i System.IO .
#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
Uwagi
Nie można watch komputera zdalnego, który nie ma systemu Windows NT lub Windows 2000. Nie można watch zdalnego komputera z systemem Windows NT 4.0 z komputera z systemem Windows NT 4.0.
W poniższej tabeli przedstawiono początkowe wartości właściwości dla wystąpienia klasy FileSystemWatcher.
Właściwość | Wartość początkowa |
---|---|
NotifyFilter | bitowe OR kombinacji LastWrite , FileName i DirectoryName |
EnableRaisingEvents | false |
Filter | "*.*" (Obejrzyj wszystkie pliki). |
IncludeSubdirectories | false |
InternalBufferSize | 8192 |
Path | pusty ciąg ("") |
Uwaga
Składnik nie będzie watch określonego katalogu do momentu Path ustawienia i EnableRaisingEvents ma wartość true
.
Zobacz też
- NotifyFilters
- FileSystemEventArgs
- FileSystemEventHandler
- InternalBufferOverflowException
- Path
- RenamedEventArgs
- RenamedEventHandler
- WaitForChangedResult
- WatcherChangeTypes
Dotyczy
FileSystemWatcher(String)
- Źródło:
- FileSystemWatcher.cs
- Źródło:
- FileSystemWatcher.cs
- Źródło:
- FileSystemWatcher.cs
Inicjuje FileSystemWatcher nowe wystąpienie klasy, biorąc pod uwagę określony katalog do monitorowania.
public:
FileSystemWatcher(System::String ^ path);
public FileSystemWatcher (string path);
new System.IO.FileSystemWatcher : string -> System.IO.FileSystemWatcher
Public Sub New (path As String)
Parametry
- path
- String
Katalog do monitorowania, w standardowej lub uniwersalnej konwencji nazewnictwa (UNC) notacji.
Wyjątki
Parametr path
to null
.
Parametr path
jest pustym ciągiem ("").
-lub-
Ścieżka określona za pośrednictwem parametru path
nie istnieje.
path
jest za długi.
Uwagi
Uwaga
Składnik nie będzie watch określonego katalogu do momentu Path ustawienia i EnableRaisingEvents ma wartość true
.
Składnik może watch plików na komputerze osobistym, dysku sieciowym lub komputerze zdalnym.
Nie można watch komputera zdalnego, który nie ma systemu Windows NT lub Windows 2000. Nie można watch zdalnego komputera z systemem Windows NT 4.0 z komputera z systemem Windows NT 4.0. Właściwość Filter jest domyślnie ustawiana na watch wszystkich plików.
Zobacz też
- NotifyFilters
- FileSystemEventArgs
- FileSystemEventHandler
- Filter
- InternalBufferOverflowException
- Path
- RenamedEventArgs
- RenamedEventHandler
- WaitForChangedResult
- WatcherChangeTypes
Dotyczy
FileSystemWatcher(String, String)
- Źródło:
- FileSystemWatcher.cs
- Źródło:
- FileSystemWatcher.cs
- Źródło:
- FileSystemWatcher.cs
Inicjuje FileSystemWatcher nowe wystąpienie klasy, biorąc pod uwagę określony katalog i typ plików do monitorowania.
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)
Parametry
- path
- String
Katalog do monitorowania, w standardowej lub uniwersalnej konwencji nazewnictwa (UNC) notacji.
- filter
- String
Typ plików do watch. Na przykład funkcja "*.txt" wyświetla zmiany we wszystkich plikach tekstowych.
Wyjątki
Parametr path
jest pustym ciągiem ("").
-lub-
Ścieżka określona za pośrednictwem parametru path
nie istnieje.
path
jest za długi.
Uwagi
Uwaga
Składnik nie będzie watch określonego katalogu do momentu Path ustawienia i EnableRaisingEvents ma wartość true
.
Składnik może watch plików na komputerze osobistym, dysku sieciowym lub komputerze zdalnym.
Nie można watch komputera zdalnego, który nie ma systemu Windows NT lub Windows 2000. Nie można watch zdalnego komputera z systemem Windows NT 4.0 z komputera z systemem Windows NT 4.0.
Zobacz też
- NotifyFilters
- FileSystemEventArgs
- FileSystemEventHandler
- Filter
- InternalBufferOverflowException
- Path
- RenamedEventArgs
- RenamedEventHandler
- WaitForChangedResult
- WatcherChangeTypes