FileSystemWatcher Конструкторы
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Инициализирует новый экземпляр класса FileSystemWatcher.
Перегрузки
FileSystemWatcher() |
Инициализирует новый экземпляр класса FileSystemWatcher. |
FileSystemWatcher(String) |
Инициализирует новый экземпляр класса FileSystemWatcher с заданным каталогом для контроля. |
FileSystemWatcher(String, String) |
Инициализирует новый экземпляр класса FileSystemWatcher с заданным каталогом и типом файлов для контроля. |
FileSystemWatcher()
- Исходный код:
- FileSystemWatcher.cs
- Исходный код:
- FileSystemWatcher.cs
- Исходный код:
- FileSystemWatcher.cs
Инициализирует новый экземпляр класса FileSystemWatcher.
public:
FileSystemWatcher();
public FileSystemWatcher ();
Public Sub New ()
Примеры
В следующем примере создается FileSystemWatcher объект для watch каталога, указанного во время выполнения. Объект FileSystemWatcher следит за изменениями в LastWrite
и LastAccess
времени, а также за созданием, удалением или переименованием текстовых файлов в каталоге. При изменении, создании или удалении файла путь к файлу отображается в консоли. При переименовании файла в консоли отображаются старые и новые пути.
В этом примере используются System.Diagnostics пространства имен и 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
Комментарии
Нельзя watch удаленный компьютер без Windows NT или Windows 2000. Вы не можете watch удаленный компьютер Windows NT 4.0 с компьютера Windows NT 4.0.
В следующей таблице показаны начальные значения свойств для экземпляра FileSystemWatcher.
Свойство | Начальное значение |
---|---|
NotifyFilter | побитовое или сочетание LastWrite , FileName и DirectoryName |
EnableRaisingEvents | false |
Filter | "*.*" (Смотреть все файлы.) |
IncludeSubdirectories | false |
InternalBufferSize | 8192 |
Path | пустая строка ("") |
Примечание
Компонент не будет watch указанный каталог, пока не Path будет задан и EnableRaisingEvents имеет значение true
.
См. также раздел
- NotifyFilters
- FileSystemEventArgs
- FileSystemEventHandler
- InternalBufferOverflowException
- Path
- RenamedEventArgs
- RenamedEventHandler
- WaitForChangedResult
- WatcherChangeTypes
Применяется к
FileSystemWatcher(String)
- Исходный код:
- FileSystemWatcher.cs
- Исходный код:
- FileSystemWatcher.cs
- Исходный код:
- FileSystemWatcher.cs
Инициализирует новый экземпляр класса FileSystemWatcher с заданным каталогом для контроля.
public:
FileSystemWatcher(System::String ^ path);
public FileSystemWatcher (string path);
new System.IO.FileSystemWatcher : string -> System.IO.FileSystemWatcher
Public Sub New (path As String)
Параметры
- path
- String
Контролируемый каталог в стандартной записи или в записи UNC.
Исключения
Параметр path
имеет значение null
.
Параметр path
представляет собой пустую строку ("").
-или-
Путь, заданный параметром path
, не существует.
Параметр path
имеет слишком большую длину.
Комментарии
Примечание
Компонент не будет watch указанный каталог, пока не Path будет задан и EnableRaisingEvents имеет значение true
.
Компонент может watch файлы на вашем персональном компьютере, сетевом диске или удаленном компьютере.
Нельзя watch удаленный компьютер без Windows NT или Windows 2000. Вы не можете watch удаленный компьютер Windows NT 4.0 с компьютера Windows NT 4.0. По Filter умолчанию свойству присваивается значение watch всех файлов.
См. также раздел
- NotifyFilters
- FileSystemEventArgs
- FileSystemEventHandler
- Filter
- InternalBufferOverflowException
- Path
- RenamedEventArgs
- RenamedEventHandler
- WaitForChangedResult
- WatcherChangeTypes
Применяется к
FileSystemWatcher(String, String)
- Исходный код:
- FileSystemWatcher.cs
- Исходный код:
- FileSystemWatcher.cs
- Исходный код:
- FileSystemWatcher.cs
Инициализирует новый экземпляр класса FileSystemWatcher с заданным каталогом и типом файлов для контроля.
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)
Параметры
- path
- String
Контролируемый каталог в стандартной записи или в записи UNC.
- filter
- String
Тип отслеживаемых файлов. Например, *.txt означает отслеживание изменений во всех текстовых файлах.
Исключения
Параметр path
представляет собой пустую строку ("").
-или-
Путь, заданный параметром path
, не существует.
Параметр path
имеет слишком большую длину.
Комментарии
Примечание
Компонент не будет watch указанный каталог, пока не Path будет задан и EnableRaisingEvents имеет значение true
.
Компонент может watch файлы на вашем персональном компьютере, сетевом диске или удаленном компьютере.
Нельзя watch удаленный компьютер без Windows NT или Windows 2000. Вы не можете watch удаленный компьютер Windows NT 4.0 с компьютера Windows NT 4.0.
См. также раздел
- NotifyFilters
- FileSystemEventArgs
- FileSystemEventHandler
- Filter
- InternalBufferOverflowException
- Path
- RenamedEventArgs
- RenamedEventHandler
- WaitForChangedResult
- WatcherChangeTypes