Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier les répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer de répertoire.
De nombreuses opérations de système de fichiers sont essentiellement des requêtes et sont donc bien adaptées à l’approche LINQ.
Notez que les requêtes de cette section ne sont pas destructrices. Ils ne sont pas utilisés pour modifier le contenu des fichiers ou dossiers d’origine. Cela suit la règle selon laquelle les requêtes ne doivent pas provoquer d’effets secondaires. En général, tout code (y compris les requêtes qui effectuent des opérateurs de création/ mise à jour/suppression) qui modifie les données sources doit être conservé séparément du code qui interroge simplement les données.
Cette section contient les rubriques suivantes :
Guide pratique pour rechercher des fichiers avec un attribut ou un nom spécifié (Visual Basic)
Montre comment rechercher des fichiers en examinant une ou plusieurs propriétés de son FileInfo objet.
Guide pratique pour regrouper des fichiers par extension (LINQ) (Visual Basic)
Montre comment retourner des groupes d’objets en fonction de leur extension de nom de FileInfo fichier.
Guide pratique pour rechercher le nombre total d’octets dans un ensemble de dossiers (LINQ) (Visual Basic)
Montre comment retourner le nombre total d’octets dans tous les fichiers d’une arborescence de répertoires spécifiée.
Guide pratique pour comparer le contenu de deux dossiers (LINQ) (Visual Basic)
Montre comment retourner tous les fichiers présents dans deux dossiers spécifiés, ainsi que tous les fichiers présents dans un dossier, mais pas l’autre.
Guide pratique pour rechercher le fichier ou les fichiers les plus volumineux dans une arborescence de répertoires (LINQ) (Visual Basic)
Montre comment retourner le plus grand ou le plus petit fichier, ou un nombre spécifié de fichiers, dans une arborescence de répertoires.
Guide pratique pour rechercher des fichiers en double dans une arborescence de répertoires (LINQ) (Visual Basic)
Montre comment regrouper tous les noms de fichiers qui se produisent dans plusieurs emplacements dans une arborescence de répertoires spécifiée. Montre également comment effectuer des comparaisons plus complexes basées sur un comparateur personnalisé.
Comment interroger le contenu des fichiers dans un dossier (LINQ) (Visual Basic)
Montre comment effectuer une itération dans des dossiers dans une arborescence, ouvrir chaque fichier et interroger le contenu du fichier.
Commentaires
Il existe une certaine complexité liée à la création d’une source de données qui représente avec précision le contenu du système de fichiers et gère les exceptions correctement. Les exemples de cette section créent une collection d’objets instantanés FileInfo qui représente tous les fichiers situés dans un dossier racine spécifié ainsi que dans tous ses sous-dossiers. L’état réel de chacun FileInfo peut changer dans le temps entre le début et la fin de l’exécution d’une requête. Par exemple, vous pouvez créer une liste d’objets à utiliser comme source de FileInfo données. Si vous essayez d’accéder à la Length propriété dans une requête, l’objet FileInfo tente d’accéder au système de fichiers pour mettre à jour la valeur de Length. Si le fichier n’existe plus, vous obtiendrez un FileNotFoundException dans votre requête, même si vous n’interrogez pas directement le système de fichiers. Certaines requêtes de cette section utilisent une méthode distincte qui consomme ces exceptions particulières dans certains cas. Une autre option consiste à garder la source de données mise à jour dynamiquement à l’aide du FileSystemWatcher.