O LINQ e arquivo diretórios
Muitos arquivo operações do sistema são essencialmente consultas e, portanto, são adequadas à LINQ abordagem.
Observação: |
---|
Se você deseja para executar através de programação consultas com o Sumário de vários tipos de arquivos e documentos, considere a possibilidade de usar o Windows área de trabalho Pesquisar Engine.Embora atualmente não pode ser consultada com LINQ, ele fornece um serviço de indexação potente que gerencia com eficiência as complexidades do arquivo sistema. |
Observe que as consultas nesta seção são não-destrutivas.Eles não são usados para alterar o Sumário dos arquivos originais ou pastas.Isso segue a regra de consultas não devem causar efeitos colaterais.Em geral, qualquer código (incluindo consultas que realizam criar / atualização /excluir operadores) que modifica os dados devem ser mantidos separados do código que consulta apenas os dados de fonte.
Esta seção contém os seguintes tópicos:
Como: Consulta de arquivos com um atributo especificado ou nome
Mostra como procurar arquivos examinando uma ou mais propriedades do seu FileInfo objeto.Como: agrupar de arquivos por extensão (LINQ)
Mostra como retornar a grupos de FileInfo objeto com base na sua extensão de nome de arquivo.Como: Consulta para o número total de bytes em um conjunto de pastas (LINQ)
Mostra como retornar o número total de bytes de todos os arquivos em uma árvore de diretório especificada.Como: Comparar o Sumário de duas pastas (LINQ)s
Mostra como retornar todos os arquivos que estão presentes nas duas pastas especificadas, e também todos os arquivos que estão presentes em uma pasta, mas não na outra.Como: Consulta para o maior arquivo ou arquivos em uma árvore de diretório (LINQ)
Mostra como retornar o arquivo maior ou menor ou um número especificado de arquivos, em uma árvore de diretório.Como: Consulta de arquivos duplicados em uma árvore de diretório (LINQ)
Mostra como agrupar todos os nomes de arquivos que ocorrem em mais de um local em uma árvore de diretório especificada.Também mostra como realizar comparações mais complexas com base em um comparador personalizado.Como: consulta o Sumário de arquivos em uma pasta (LINQ)
Mostra como percorrer pastas em uma árvore, abrir cada arquivo e consultar o conteúdo do arquivo.
Comentários
Há alguma complexidade envolvidos na criação de uma fonte de dados que representa com precisão o Sumário do arquivo sistema e normalmente manipula as exceções.Os exemplos nesta seção criar uma coleção de instantâneo de FileInfo objetos que representa todos os arquivos em uma pasta raiz especificada e todas as suas subpastas. O estado real de cada FileInfo podem ser alterados no time entre quando você começar e terminar a execução de uma consulta. Por exemplo, você pode criar uma lista de FileInfo objetos para usar sistema autônomo uma fonte de dados. Se você tentar acessar o Length propriedade em uma consulta, o FileInfo objeto tentará acessar o sistema de arquivos para atualizar o valor de Length. Se o arquivo não existir mais, você receberá um FileNotFoundException na consulta, mesmo que você está não consultando o sistema de arquivos diretamente. Algumas consultas nesta seção usam um método separado que consome essas exceções específicas em determinados casos.Outra opção é manter a sua fonte de dados atualizado dinamicamente usando o FileSystemWatcher.