Concepts de base du système de fichiers et des E/S de fichier du .NET Framework (Visual Basic)
Les classes de l’espace de noms System.IO sont utilisées pour travailler avec les lecteurs, les fichiers et les répertoires.
L’espace de noms System.IO contient les classes File et Directory, qui fournissent la fonctionnalité .NET Framework permettant de manipuler des fichiers et des répertoires. Les méthodes de ces objets étant des membres statiques ou partagés, vous pouvez les utiliser directement sans créer d’abord une instance de la classe. Les classes FileInfo et DirectoryInfo, familières aux utilisateurs de la fonctionnalité My
, sont associées à ces classes. Pour utiliser ces classes, vous devez qualifier complètement les noms ou importer les espaces de noms appropriés en incluant les instructions Imports
au début du code affecté. Pour plus d’informations, consultez Instruction Imports (espace de noms et type .NET).
Notes
Les autres rubriques de cette section utilisent l’objet My.Computer.FileSystem
au lieu des classes System.IO
pour travailler avec des lecteurs, des fichiers et des répertoires. L’objet My.Computer.FileSystem
est destiné principalement à une utilisation dans des programmes Visual Basic. Les classes System.IO
sont destinées à être utilisées par tout langage qui prend en charge le .NET Framework, notamment Visual Basic.
Définition d’un flux
Le .NET Framework utilise des flux pour prendre en charge la lecture et l’écriture dans des fichiers. Vous pouvez considérer un flux comme un ensemble unidimensionnel de données contiguës, ayant un début et une fin, et où le curseur indique la position actuelle dans le flux.
Opérations de flux
Les données contenues dans le flux peuvent provenir de la mémoire, d’un fichier ou d’un socket TCP/IP. Des opérations fondamentales peuvent être appliquées aux flux :
Lecture. Vous pouvez lire à partir d’un flux, autrement dit transférer des données du flux vers une structure de données, telle qu’une chaîne ou un tableau d’octets.
Écriture. Vous pouvez écrire dans un flux, autrement dit transférer des données d’une source de données vers le flux.
Recherche. Vous pouvez interroger et modifier votre position dans le flux.
Pour plus d'informations, consultez Composing Streams.
Types de flux
Dans le .NET Framework, un flux est représenté par la classe Stream, qui forme la classe abstraite pour tous les autres flux. Vous ne pouvez pas créer directement une instance de la classe Stream. Vous devez utiliser l’une des classes qu’elle implémente.
Il existe de nombreux types de flux, mais dans le cadre de l’utilisation des entrées/sorties (E/S) de fichiers, les types les plus importants sont la classe FileStream, qui permet de lire et d’écrire dans des fichiers, et la classe IsolatedStorageFileStream, qui permet de créer des fichiers et des répertoires dans un stockage isolé. Voici d’autres flux qui peuvent être utilisés avec les E/S de fichiers :
Le tableau suivant répertorie les tâches couramment accomplies avec un flux :
À | Consultez |
---|---|
Lire et écrire dans un fichier de données | Procédure : lire et écrire dans un fichier de données créé récemment |
Lire du texte dans un fichier | Procédure : lire le texte d’un fichier |
Écrire du texte dans un fichier | Procédure : écrire du texte dans un fichier |
Lire les caractères d’une chaîne | Procédure : lire les caractères d’une chaîne |
Écrire des caractères dans une chaîne | Procédure : écrire des caractères dans une chaîne |
Chiffrer les données | Chiffrement de données |
Déchiffrer des données | Déchiffrement de données |
Accès aux fichiers et attributs
Vous pouvez contrôler la façon dont les fichiers sont créés, ouverts et partagés avec les énumérations FileAccess, FileMode et FileShare, qui contiennent les indicateurs utilisés par les constructeurs de la classe FileStream. Par exemple, quand vous ouvrez ou créez un FileStream, l’énumération FileMode vous permet de spécifier si le fichier est ouvert pour l’ajout, si un fichier est créé si le fichier spécifié n’existe pas, si le fichier est remplacé, et ainsi de suite.
L’énumération FileAttributes vous permet de recueillir des informations propres au fichier. L’énumération FileAttributes retourne les attributs stockés du fichier, par exemple s’il est compressé, chiffré, caché, en lecture seule, s’il s’agit d’une archive, d’un répertoire, d’un fichier système ou d’un fichier temporaire.
Le tableau suivant répertorie les tâches qui impliquent l’accès aux fichiers et les attributs de fichiers :
À | Consultez |
---|---|
Ouvrir un fichier journal et y ajouter du texte | Procédure : ouvrir un fichier journal et y ajouter des éléments |
Déterminer les attributs d’un fichier | FileAttributes |
Autorisations de fichier
Vous pouvez contrôler l’accès aux fichiers et aux répertoires avec la classe FileIOPermission. Cela peut être particulièrement important pour les développeurs qui travaillent avec des Web Forms, qui s’exécutent par défaut dans le contexte d’un compte d’utilisateur local spécial nommé ASPNET, créé dans le cadre des installations d’ASP.NET et .NET Framework. Quand une telle application demande l’accès à une ressource, le compte d’utilisateur ASPNET dispose d’autorisations limitées, ce qui peut empêcher l’utilisateur d’effectuer des actions telles que l’écriture dans un fichier à partir d’une application web. Pour plus d’informations, consultez FileIOPermission.
Stockage de fichiers isolé
Le stockage isolé est une tentative de résolution des problèmes créés lors de l’utilisation de fichiers, quand l’utilisateur ou le code n’a pas les autorisations nécessaires. Le stockage isolé assigne à chaque utilisateur un compartiment de données qui peut contenir un ou plusieurs magasins. Les magasins peuvent être isolés les uns des autres par utilisateur et par assembly. Seul l’utilisateur et l’assembly ayant créé un magasin y ont accès. Un magasin se comporte comme un système de fichiers virtuel complet : vous pouvez y créer et y manipuler des fichiers et des répertoires.
Le tableau suivant répertorie les tâches couramment associées au stockage de fichiers isolé.
À | Consultez |
---|---|
Créer un magasin isolé | Procédure : obtenir des magasins pour le stockage isolé |
Énumérer les magasins isolés | Procédure : énumérer des magasins pour le stockage isolé |
Supprimer un magasin isolé | Procédure : supprimer des magasins dans le stockage isolé |
Créer un fichier ou un répertoire dans un stockage isolé | Procédure : créer des fichiers et des répertoires dans un stockage isolé |
Rechercher un fichier dans un stockage isolé | Procédure : rechercher des fichiers et des répertoires existants dans un stockage isolé |
Lire ou écrire dans un fichier dans un stockage isolé | Procédure : lire et écrire des fichiers dans un stockage isolé |
Supprimer un fichier ou un répertoire dans un stockage isolé | Procédure : supprimer des fichiers et des répertoires dans un stockage isolé |
Événements de fichiers
Le composant FileSystemWatcher vous permet de surveiller les modifications dans les fichiers et répertoires de votre système ou sur n’importe quel ordinateur auquel vous avez accès par le biais du réseau. Par exemple, si un fichier est modifié, vous souhaiterez peut-être envoyer à un utilisateur une alerte signalant la modification. Quand des modifications se produisent, un ou plusieurs événements sont déclenchés, stockés dans une mémoire tampon et transmis au composant FileSystemWatcher pour traitement.