Partilhar via


Como: Configurar o componente FileSystemWatcher instâncias

Existem várias propriedades que você conjunto para o seu FileSystemWatcher ocorrências de componente para determinar como elas se comportam. Essas propriedades determinam quais diretórios e subdiretórios do componente instância irá monitorar e as ocorrências exatas dentro desses diretórios que irão disparar eventos.

Especificando os diretórios a serem inspeção

Você usar duas propriedades para determinar quais diretórios o FileSystemWatcher componente deve inspeção: Path e IncludeSubdirectories.

Para indicar o caminho totalmente qualificado do diretório raiz para inspeção

  • conjunto o Path propriedade em uma instância de componente existente, sistema autônomo mostrado no código a seguir:

    Dim MyWatcher As New System.IO.FileSystemWatcher()
    MyWatcher.Path = "c:\"
    
         System.IO.FileSystemWatcher MyWatcher = new System.IO.FileSystemWatcher();
            MyWatcher.Path = "c:\\";
    

    Essa configuração pode ser em notação de caminho do diretório padrão (c:\directory) ou no formato UNC (\\servidor\diretório).

The IncludeSubdirectories propriedade indica se os subdiretórios no diretório raiz devem ser monitorados. Se a propriedade for conjunto para true, o componente observa sistema autônomo mesmas alterações nos subdiretórios sistema autônomo ocorrerá dentro do diretório principal que o componente está observando.

Especificando as alterações para inspeção

Bem como especificar diretórios e subdiretórios para inspeção, você pode indicar que tipos de alterações que você está interessado em observar e arquivos específicos.Em parte, você determinar que as alterações inspeção para Definindo manipuladores para somente os eventos em que você está interessado.Por exemplo, se você apenas deseja ser notificado quando os arquivos são criados, você somente trataria o Created evento. No entanto, você pode conjunto uma série de propriedades restringir ainda mais atividades do componente.

Você pode usar o Filter propriedade para indicar um arquivo específico ou um padrão de correspondência de curingas que restringe o componente assistindo a apenas determinados arquivos ou diretórios no diretório raiz. Por exemplo, se você quiser inspeção para a criar de arquivos de texto dentro da raiz, você poderia conjunto o Filterpropriedade como "*.txt" e, em seguida, crie um manipulador para o Created evento. Você pode conjunto o filtro para qualquer valor, incluindo todas as extensões de arquivos válido.O valor padrão "*. *"retorna tudo;"" (uma seqüência vazia) também retorna todos os arquivos ou diretórios.No entanto, você só pode conjunto uma seqüência de caracteres de filtro em um time.Se for necessário, você pode alterar o filtro após o FileSystemWatcher foi iniciada receber eventos.

Observação:

O FileSystemWatcher componente é projetado para inspeção para alterações em um diretório, não para muda para a pasta atributos próprios. Por exemplo, se você está assistindo a um diretório chamado c:\MyProjects, o componente irá monitorar as alterações dentro do diretório, mas não muda para a pasta propriamente dita.

Você também pode usar o NotifyFilter propriedade para restringir ainda mais as alterações que reacted para. Você pode conjunto o NotifyFilter propriedade inspeção para alterações de nomes de diretórios, nomes de arquivos ou ambos. Além disso, a NotifyFilter propriedade contém uma série de valores que restringem a Changed evento. The Changed evento tem o potencial de elevar um número grande de eventos, porque ela irá acionar um evento sempre que qualquer alterar é feita com o arquivo em questão; algumas operações padrão sistema autônomo copiar e mover arquivos, na verdade, fará com que alterar do arquivo de vários eventos a ser gerado sistema autônomo vários atributos, sistema autônomo dimensionar, última gravar e último acesso sejam alterados.

The NotifyFilter propriedade limita o número de alterações de arquivo ou diretório para o qual a ocorrência do componente irá disparar eventos. Você pode conjunto até seu componente para que ele irá disparar eventos somente quando um arquivo ou diretório, nomeie as alterações, quando altera os atributos de um item no diretório principal, quando dimensionar do arquivo alterado, quando seu último escrever ou alterações em tempo de acesso pela última vez, ou quando segurança acesso a uma alterar de direitos do arquivo ou diretório.Esses valores são todos parte do NotifyFilters enumeração. Você pode conjunto várias alterações para inspeção para usando um BitOr (para Visual Basic) ou| (for Visual C#) operador, conforme mostrado no exemplo a seguir.

Observação:

Você Configure o EnableRaisingEvents propriedade para true para que o FileSystemWatcher componente para iniciar o monitoramento de alterações.

Para configurar uma instância de componente FileSystemWatcher

  1. Criar uma instância do FileSystemWatcher componente. Para obter mais informações, consulte Como: Criar instâncias de componente FileSystemWatcher.

  2. conjunto o Path propriedade para o caminho totalmente qualificado do diretório raiz que deseja inspeção.

    Dica:

    Você pode inserir sistema autônomo um caminho de arquivo padrão ou um caminho UNC.

  3. Defina qualquer uma das propriedades opcionais para sua instância.

    Cenário

    Propriedade

    Valor

    Para inspeção para alterações de um nome de arquivo ou subdiretório específico na raiz da

    Filter

    Uma expressão de filtro curinga que restringe as atividades de monitoramento da instância

    Observar alterações em todas as subpastas na diretório raiz contém

    IncludeSubdirectories

    true ou false

    Para inspeção para somente alterações específicas em um arquivo ou subdiretório ao manipular o Changed, Renamed, Deleted, ou Created evento

    NotifyFilter

    Qualquer um dos valores disponível no NotifyFilters enumeração

  4. Ative a sua instância do componente Configurando o EnableRaisingEvents propriedade para true.

    Por exemplo, suponha que você deseja criar um FileSystemWatcherinstância que observa um diretório de recebimento de chamada "relatórios" para a criação de novos arquivos txt. Você também queira monitor muda para relatórios existentes, execute novamente dinamicamente quando dados forem alterados.Você faria conjunto até seu componente da seguinte maneira:

    ' This needs to be declared in a place where it will not go out of scope.
    ' For example, it would be a class variable in a form class.
    Dim MyWatcher As New System.IO.FileSystemWatcher()
    ' This code would go in one of the initialization methods of the class.
    MyWatcher.Path = "c:\"
    ' Watch only for changes to *.txt files.
    MyWatcher.Filter = "*.txt"
    MyWatcher.IncludeSubdirectories = False
    ' Filter for Last Write changes.
    MyWatcher.NotifyFilter = System.IO.NotifyFilters.LastWrite
    ' Example of watching more than one type of change.
    MyWatcher.NotifyFilter = _
       System.IO.NotifyFilters.LastAccess Or System.IO.NotifyFilters.Size
    ' Enable the component to begin watching for changes.
    MyWatcher.EnableRaisingEvents = True
    
         // This needs to be declared in a place where it will not go out of scope.
            // For example, it would be a class variable in a form class.
            System.IO.FileSystemWatcher MyWatcher = new System.IO.FileSystemWatcher();
            // This code would go in one of the initialization methods of the class.
            MyWatcher.Path = "c:\\";
            // Watch only for changes to *.txt files.
            MyWatcher.Filter = "*.txt";
            MyWatcher.IncludeSubdirectories = false;
            // Enable the component to begin watching for changes.
            MyWatcher.EnableRaisingEvents = true;
            // Filter for Last Write changes.
            MyWatcher.NotifyFilter = System.IO.NotifyFilters.LastWrite;
            // Example of watching more than one type of change.
            MyWatcher.NotifyFilter =
               System.IO.NotifyFilters.LastWrite | System.IO.NotifyFilters.Size;
    

Consulte também

Tarefas

Como: Criar instâncias de componente FileSystemWatcher

Conceitos

Introdução ao monitoramento de sistema arquivo eventos