FileSystemEventArgs Klasa
Definicja
public ref class FileSystemEventArgs : EventArgs
public class FileSystemEventArgs : EventArgs
type FileSystemEventArgs = class
inherit EventArgs
Public Class FileSystemEventArgs
Inherits EventArgs
- Dziedziczenie
- Pochodne
Przykłady
Poniższy przykład pokazuje, FileSystemWatcher jak utworzyć do monitorowania zmian plików (tworzy, usuwa, zmienia nazwy, zmiany) występujące na dysku.The following example shows how to create a FileSystemWatcher to monitor file changes (creates, deletes, renames, changes) occurring on a disk drive. W przykładzie pokazano również, jak prawidłowo odbierać powiadomienia o błędach.The example also shows how to properly receive error notifications.
using System;
using System.IO;
class Program
{
static void Main(string[] args)
{
// Create a FileSystemWatcher to monitor all files on drive C.
FileSystemWatcher fsw = new FileSystemWatcher("C:\\");
// Watch for changes in LastAccess and LastWrite times, and
// the renaming of files or directories.
fsw.NotifyFilter = NotifyFilters.LastAccess | NotifyFilters.LastWrite
| NotifyFilters.FileName |NotifyFilters.DirectoryName;
// Register a handler that gets called when a
// file is created, changed, or deleted.
fsw.Changed += new FileSystemEventHandler(OnChanged);
fsw.Created += new FileSystemEventHandler(OnChanged);
fsw.Deleted += new FileSystemEventHandler(OnChanged);
// Register a handler that gets called when a file is renamed.
fsw.Renamed += new RenamedEventHandler(OnRenamed);
// Register a handler that gets called if the
// FileSystemWatcher needs to report an error.
fsw.Error += new ErrorEventHandler(OnError);
// Begin watching.
fsw.EnableRaisingEvents = true;
Console.WriteLine("Press \'Enter\' to quit the sample.");
Console.ReadLine();
}
// This method is called when a file is created, changed, or deleted.
private static void OnChanged(object source, FileSystemEventArgs e)
{
// Show that a file has been created, changed, or deleted.
WatcherChangeTypes wct = e.ChangeType;
Console.WriteLine("File {0} {1}", e.FullPath, wct.ToString());
}
// This method is called when a file is renamed.
private static void OnRenamed(object source, RenamedEventArgs e)
{
// Show that a file has been renamed.
WatcherChangeTypes wct = e.ChangeType;
Console.WriteLine("File {0} {2} to {1}", e.OldFullPath, e.FullPath, wct.ToString());
}
// This method is called when the FileSystemWatcher detects an error.
private static void OnError(object source, ErrorEventArgs e)
{
// Show that an error has been detected.
Console.WriteLine("The FileSystemWatcher has detected an error");
// Give more information if the error is due to an internal buffer overflow.
if (e.GetException().GetType() == typeof(InternalBufferOverflowException))
{
// This can happen if Windows is reporting many file system events quickly
// and internal buffer of the FileSystemWatcher is not large enough to handle this
// rate of events. The InternalBufferOverflowException error informs the application
// that some of the file system events are being lost.
Console.WriteLine(("The file system watcher experienced an internal buffer overflow: " + e.GetException().Message));
}
}
}
Imports System.IO
Module Module1
Sub Main()
' Create a FileSystemWatcher to monitor all files on drive C.
Dim fsw As New FileSystemWatcher("C:\")
' Watch for changes in LastAccess and LastWrite times, and
' the renaming of files or directories.
fsw.NotifyFilter = (NotifyFilters.LastAccess Or NotifyFilters.LastWrite _
Or NotifyFilters.FileName Or NotifyFilters.DirectoryName)
' Register a handler that gets called when a
' file is created, changed, or deleted.
AddHandler fsw.Changed, New FileSystemEventHandler(AddressOf OnChanged)
' The commented line of code below is a shorthand of the above line.
' AddHandler fsw.Changed, AddressOf OnChanged
' NOTE: The shorthand version is used in the remainder of this code.
' FileSystemEventHandler
AddHandler fsw.Created, AddressOf OnChanged
' FileSystemEventHandler
AddHandler fsw.Deleted, AddressOf OnChanged
' Register a handler that gets called when a file is renamed.
' RenamedEventHandler
AddHandler fsw.Renamed, AddressOf OnRenamed
' Register a handler that gets called if the
' FileSystemWatcher needs to report an error.
' ErrorEventHandler
AddHandler fsw.Error, AddressOf OnError
' Begin watching.
fsw.EnableRaisingEvents = True
' Wait for the user to quit the program.
Console.WriteLine("Press 'Enter' to quit the sample.")
Console.ReadLine()
End Sub
' This method is called when a file is created, changed, or deleted.
Private Sub OnChanged(ByVal source As Object, ByVal e As FileSystemEventArgs)
' Show that a file has been created, changed, or deleted.
Dim wct As WatcherChangeTypes = e.ChangeType
Console.WriteLine("File {0} {1}", e.FullPath, wct.ToString())
End Sub
' This method is called when a file is renamed.
Private Sub OnRenamed(ByVal source As Object, ByVal e As RenamedEventArgs)
' Show that a file has been renamed.
Dim wct As WatcherChangeTypes = e.ChangeType
Console.WriteLine("File {0} {2} to {1}", e.OldFullPath, e.FullPath, wct.ToString())
End Sub
' This method is called when the FileSystemWatcher detects an error.
Private Sub OnError(ByVal source As Object, ByVal e As ErrorEventArgs)
' Show that an error has been detected.
Console.WriteLine("The FileSystemWatcher has detected an error")
' Give more information if the error is due to an internal buffer overflow.
If TypeOf e.GetException Is InternalBufferOverflowException Then
' This can happen if Windows is reporting many file system events quickly
' and internal buffer of the FileSystemWatcher is not large enough to handle this
' rate of events. The InternalBufferOverflowException error informs the application
' that some of the file system events are being lost.
Console.WriteLine( _
"The file system watcher experienced an internal buffer overflow: " _
+ e.GetException.Message)
End If
End Sub
End Module
Uwagi
FileSystemEventArgs Klasa jest przenoszona jako parametr do obsługi zdarzeń dla tych zdarzeń:The FileSystemEventArgs class is passed as a parameter to event handlers for these events:
Zdarzenie występuje, gdy wprowadzane są zmiany rozmiaru, atrybuty systemu, czas ostatniego zapisu, czas ostatniego dostępu lub uprawnienia zabezpieczeń w pliku lub katalogu w określonym FileSystemWatcher. Path ChangedThe Changed event occurs when changes are made to the size, system attributes, last write time, last access time, or security permissions in a file or directory in the specified Path of a FileSystemWatcher.
Zdarzenie występuje, gdy tworzony jest plik lub katalog w określonym Path a FileSystemWatcher. CreatedThe Created event occurs when a file or directory in the specified Path of a FileSystemWatcher is created.
Zdarzenie Deleted występuje, gdy plik lub katalog określony Path przez FileSystemWatcher jest usuwany.The Deleted event occurs when a file or directory in the specified Path of a FileSystemWatcher is deleted. Aby uzyskać więcej informacji, zobacz FileSystemWatcher.For more information, see FileSystemWatcher.
Konstruktory
FileSystemEventArgs(WatcherChangeTypes, String, String) |
Inicjuje nowe wystąpienie klasy FileSystemEventArgs klasy.Initializes a new instance of the FileSystemEventArgs class. |
Właściwości
ChangeType |
Pobiera typ zdarzenia katalogu, które wystąpiło.Gets the type of directory event that occurred. |
FullPath |
Pobiera w pełni kwalifikowaną ścieżkę pliku lub katalogu, którego dotyczy ten plik.Gets the fully qualified path of the affected file or directory. |
Name |
Pobiera nazwę pliku lub katalogu, którego dotyczy ten plik.Gets the name of the affected file or directory. |
Metody
Equals(Object) |
Określa, czy określony obiekt jest równy bieżącemu obiektowi.Determines whether the specified object is equal to the current object. (Odziedziczone po Object) |
GetHashCode() |
Służy jako domyślna funkcja skrótu.Serves as the default hash function. (Odziedziczone po Object) |
GetType() |
Pobiera Type bieżącego wystąpienia.Gets the Type of the current instance. (Odziedziczone po Object) |
MemberwiseClone() |
Tworzy skróconą kopię bieżącego Object.Creates a shallow copy of the current Object. (Odziedziczone po Object) |
ToString() |
Zwraca ciąg, który reprezentuje bieżący obiekt.Returns a string that represents the current object. (Odziedziczone po Object) |