FileSystemWatcher Construtores
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Inicializa uma nova instância da FileSystemWatcher classe.
Sobrecargas
| Name | Description |
|---|---|
| FileSystemWatcher() |
Inicializa uma nova instância da FileSystemWatcher classe. |
| FileSystemWatcher(String) |
Inicializa uma nova instância da FileSystemWatcher classe, dado o diretório especificado para monitorizar. |
| FileSystemWatcher(String, String) |
Inicializa uma nova instância da FileSystemWatcher classe, dado o diretório especificado e o tipo de ficheiros a monitorizar. |
FileSystemWatcher()
Inicializa uma nova instância da FileSystemWatcher classe.
public:
FileSystemWatcher();
public FileSystemWatcher();
Public Sub New ()
Exemplos
O exemplo seguinte cria um FileSystemWatcher objeto para observar o diretório especificado em tempo de execução. O FileSystemWatcher objeto observa alterações em LastWrite e LastAccess horários, bem como a criação, eliminação ou renomeação de ficheiros de texto no diretório. Se um ficheiro for alterado, criado ou eliminado, o caminho para o ficheiro é mostrado para a consola. Quando um ficheiro é renomeado, os caminhos antigo e novo são exibidos para a consola.
Este exemplo utiliza os System.Diagnostics namespaces e.System.IO
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
Observações
Não podes ver um computador remoto que não tenha Windows NT ou Windows 2000. Não podes ver um computador remoto com Windows NT 4.0 a partir de um computador Windows NT 4.0.
A tabela seguinte mostra os valores iniciais das propriedades para uma instância de FileSystemWatcher.
| Property | Valor Inicial |
|---|---|
| NotifyFilter | Combinação bit a bit OR de LastWrite, FileName, e DirectoryName |
| EnableRaisingEvents | false |
| Filter | "*.*" (Ver todos os ficheiros.) |
| IncludeSubdirectories | false |
| InternalBufferSize | 8192 |
| Path | corda vazia ("") |
Note
O componente não irá observar o diretório especificado até que o Path esteja definido, e EnableRaisingEvents seja true.
Ver também
- NotifyFilters
- FileSystemEventArgs
- FileSystemEventHandler
- InternalBufferOverflowException
- Path
- RenamedEventArgs
- RenamedEventHandler
- WaitForChangedResult
- WatcherChangeTypes
Aplica-se a
FileSystemWatcher(String)
Inicializa uma nova instância da FileSystemWatcher classe, dado o diretório especificado para monitorizar.
public:
FileSystemWatcher(System::String ^ path);
public FileSystemWatcher(string path);
new System.IO.FileSystemWatcher : string -> System.IO.FileSystemWatcher
Public Sub New (path As String)
Parâmetros
- path
- String
O diretório para monitorizar, em notação padrão ou Convenção Universal de Nomes (UNC).
Exceções
O path parâmetro é null.
O path parâmetro é uma cadeia vazia ("").
-ou-
O caminho especificado através do path parâmetro não existe.
path é demasiado longo.
Observações
Note
O componente não irá observar o diretório especificado até que o Path esteja definido, e EnableRaisingEvents seja true.
O componente pode ver ficheiros no seu computador pessoal, numa unidade de rede ou num computador remoto.
Não podes ver um computador remoto que não tenha Windows NT ou Windows 2000. Não podes ver um computador remoto com Windows NT 4.0 a partir de um computador Windows NT 4.0. A Filter propriedade está definida por defeito para ver todos os ficheiros.
Ver também
- NotifyFilters
- FileSystemEventArgs
- FileSystemEventHandler
- Filter
- InternalBufferOverflowException
- Path
- RenamedEventArgs
- RenamedEventHandler
- WaitForChangedResult
- WatcherChangeTypes
Aplica-se a
FileSystemWatcher(String, String)
Inicializa uma nova instância da FileSystemWatcher classe, dado o diretório especificado e o tipo de ficheiros a monitorizar.
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)
Parâmetros
- path
- String
O diretório para monitorizar, em notação padrão ou Convenção Universal de Nomes (UNC).
- filter
- String
O tipo de ficheiros a ver. Por exemplo, "*.txt" observa alterações a todos os ficheiros de texto.
Exceções
O path parâmetro é uma cadeia vazia ("").
-ou-
O caminho especificado através do path parâmetro não existe.
path é demasiado longo.
Observações
Note
O componente não irá observar o diretório especificado até que o Path esteja definido, e EnableRaisingEvents seja true.
O componente pode ver ficheiros no seu computador pessoal, numa unidade de rede ou num computador remoto.
Não podes ver um computador remoto que não tenha Windows NT ou Windows 2000. Não podes ver um computador remoto com Windows NT 4.0 a partir de um computador Windows NT 4.0.
Ver também
- NotifyFilters
- FileSystemEventArgs
- FileSystemEventHandler
- Filter
- InternalBufferOverflowException
- Path
- RenamedEventArgs
- RenamedEventHandler
- WaitForChangedResult
- WatcherChangeTypes