Sont-ils équivalents ou alternatifs? Est-ce que l’un d’entre eux est déconseillé et si oui lequel? Lequel est recommandé pour une utilisation dans une application Web ASP.NET. Mon but est d’extraire tous les fichiers d’un répertoire spécifique de manière récursive.
Directory est une classe statique qui fournit des méthodes statiques d’utilisation des répertoires. DirectoryInfo est une instance d’une classe fournissant des informations sur un répertoire spécifique. Ainsi, par exemple, si vous souhaitez obtenir des informations sur C: \ Temp:
var dirInfo = new DirectoryInfo("C:\\Temp"); if (dirInfo.Exists) { FileInfo[] files = dirInfo.GetFiles("*.*", SearchOption.AllDirectories); ... }
Si vous ne souhaitez que les noms sous forme de chaînes, il peut être plus rapide et plus simple d’éviter de créer une instance de DirectoryInfo à l’aide des méthodes statiques de Directory.
if (Directory.Exists("C:\\Temp")) { ssortingng[] files = Directory.GetFiles("C:\\Temp", "*.*", SearchOption.AllDirectories); ... }
En bref, peu importe ce que vous utilisez tant que vous faites ce que vous voulez. Ni est recommandé sur l’autre.
Directory
classe deDirectory
est une classe statique qui peut être utilisée pour créer, déplacer, énumérer des répertoires et des sous-répertoires. La classeDirectoryInfo
est également utilisée aux mêmes fins que la classeDirectory
où ses membres sont des membres d’instance et non de la classeDirectory
. La principale différence entre les deux réside dans l’utilisation de ces classes.Directory
classe deDirectory
peut être utilisée quand on veut effectuer une simple opération de dossier à la fois. Par exemple, vous devez supprimer le dossier et vous en aller. Cependant, la classeDirectoryInfo
est associée à un dossier et vous fournit toutes les opérations pouvant être effectuées sur ce dossier. La classeDirectoryInfo
accepte un chemin en tant que paramètre lors de l’instanciation et vous fournit tout le contenu du dossier. Vous pouvez créer des sous-répertoires, déplacer, énumérer, etc. CODEDIGEST
En outre, une remarque importante si vous devez effectuer plusieurs actions sur l’annuaire, DirectoryInfo aura un avantage en termes de performances car il n’exigera pas de vérification des privilèges de sécurité pour chaque action.
Annuaire
Répertoire d’informations sur la classe
DirectoryInfo est (fondamentalement) la classe Directory mais est utilisé dans un contexte non statique. Si vous allez effectuer de nombreux appels sur le système de fichiers, en particulier lorsqu’il s’agit du même dossier ou du sous-répertoire de ce dossier, MSDN suggère d’utiliser DirectoryInfo.
DirectoryInfo a une méthode DirectoryInfo.GetFiles qui répond probablement à vos exigences.