Partager via


Concepts de base du système de fichiers et des E/S de fichier du .NET Framework

Mise à jour : novembre 2007

L'espace de noms System.IO contient les classes File et Directory, qui offrent la fonctionnalité du .NET Framework permettant de manipuler des fichiers et des répertoires. Étant donné que toutes les méthodes de ces objets sont des membres statiques ou partagés, vous pouvez les utiliser directement sans créer d'instance de classe au préalable. Les classes FileInfo et DirectoryInfo sont associées à ces classes qui seront familières aux utilisateurs de la fonctionnalité My. Pour utiliser ces interfaces, vous devez qualifier pleinement 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 Imports, instruction (espace de noms et type .NET).

Définition d'un flux

Le .NET Framework utilise des flux pour prendre en charge la lecture et l'écriture dans les fichiers. Vous pouvez considérer un flux comme un ensemble de données contiguës unidimensionnel qui a un début et une fin et dans lequel le curseur indique la position actuelle dans le flux.

Le curseur montre la position actuelle dans FileStream.

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. Il existe des opérations fondamentales qui peuvent s'appliquer aux flux :

  • Lecture. Vous pouvez lire un flux, en transférant les données du flux vers une structure de données, par exemple une chaîne ou un tableau d'octets.

  • Écriture. Vous pouvez écrire dans un flux, en transférant des données d'une source de données aux flux.

  • Recherche. Vous pouvez interroger et modifier votre position dans le flux.

Pour plus d'informations, consultez Composition de flux.

Types de flux

Dans le .NET Framework, un flux est représenté par la classe Stream qui forme la classe abstraite de tous les autres flux. Vous ne pouvez pas créer directement une instance de la classe Stream, mais vous devez utiliser l'une des classes qu'elle implémente.

Il existe de nombreux types de flux, mais pour les besoins de l'utilisation de l'entrée/sortie (E/S) de fichier, les types les plus importants sont la classe FileStream, qui permet de lire et d'écrire dans les fichiers, et la classe IsolatedStorageFileStream qui permet de créer des fichiers et des répertoires dans un stockage isolé. Les autres flux qui peuvent être utilisés lors de l'utilisation de l'E/S de fichier sont les suivants :

Le tableau suivant répertorie les tâches couramment accomplies avec un flux :

Pour

Reportez-vous à

Lire et écrire dans un fichier de données

Comment : lire et écrire dans un fichier de données créé récemment

Lire dans un fichier XML

Tâches courantes de XmlReader

Créer un writer de flux afin d'écrire du texte dans un fichier

Création d'un writer

Lire du texte à partir d'un fichier

Comment : lire du texte dans un fichier

Écrire du texte dans un fichier

Comment : écrire du texte dans un fichier

Lire des caractères à partir d'une chaîne

Comment : lire les caractères d'une chaîne

Écrire des caractères dans une chaîne

Comment : écrire des caractères dans une chaîne

Chiffrer des données

Chiffrement de données

Déchiffrer des données

Déchiffrement de données

Accès et attributs de fichier

Vous pouvez contrôler comment les fichiers sont créés, ouverts, et partagés à l'aide des énumérations FileAccess, FileMode et FileShare qui contiennent les indicateurs utilisés par les constructeurs de la classe FileStream. Par exemple, lorsque vous ouvrez ou créez un FileStream, l'énumération FileMode vous permet de spécifier si le fichier est ouvert pour permettre l'ajout, si un fichier est créé lorsque le fichier spécifié n'existe pas, si le fichier est remplacé, etc.

L'énumération FileAttributes permet la collecte d'informations spécifiques au fichier. L'énumération FileAttributes retourne les attributs stockés du fichier suivants : compressé, chiffré, caché, en lecture seule, archive, répertoire, fichier système ou fichier temporaire.

Le tableau suivant répertorie les tâches relatives à l'accès et aux attributs de fichier :

Pour

Reportez-vous à

Ouvrir et ajouter du texte à un fichier journal

Comment : ouvrir un fichier journal et y ajouter des éléments

Déterminer les attributs d'un fichier

FileAttributes

Autorisations de fichier

À l'aide de la classe FileIOPermission, vous pouvez contrôler l'accès aux fichiers et aux répertoires. Cette fonctionnalité peut s'avérer particulièrement importante pour les développeurs qui emploient des formulaires Web (Web Forms). Par défaut, ceux-ci s'exécutent dans le contexte du compte d'utilisateur local ASPNET, créé dans le cadre de l'installation de ASP.NET et du .NET Framework. Lorsqu'une telle application demande l'accès à une ressource, le compte d'utilisateur ASPNET a des autorisations limitées qui peuvent empêcher l'utilisateur d'exécuter des actions telles que l'écriture dans un fichier à partir d'une application Web. Pour plus d'informations, consultez Autorisations de sécurité, Demande d'autorisations et FileIOPermission, classe.

Le tableau suivant répertorie les tâches relatives aux autorisations de fichier.

Pour

Reportez-vous à

Demander des autorisations minimales

Comment : demander l'autorisation d'accéder à du code non managé

Demander des autorisations facultatives

Comment : demander des autorisations facultatives à l'aide de l'indicateur RequestOptional

Refuser des autorisations

Comment : refuser des autorisations à l'aide de l'indicateur RequestRefuse

Demander des autorisations intégrées

Comment : demander l'autorisation pour un jeu d'autorisations nommé

Demander des autorisations codées en XML

Demande d'autorisations codées en XML

Stockage de fichiers isolé

Le stockage isolé est une tentative de résoudre les problèmes survenus lors de l'utilisation des fichiers alors que l'utilisateur ou le code n'a peut-être pas les autorisations nécessaires. Le stockage isolé assigne à chaque utilisateur un compartiment de données qui peut contenir plusieurs magasins. Les magasins peuvent être isolés les uns des autres par utilisateur et par assembly. Seul l'utilisateur ou l'assembly qui a créé un magasin peut y accéder. Un magasin se comporte comme un système de fichiers virtuel : dans un magasin, vous pouvez créer et manipuler des répertoires et des fichiers.

Le tableau suivant répertorie les tâches couramment associées au stockage de fichiers isolé.

Pour

Reportez-vous à

Créer un magasin isolé

Obtention de magasins

Énumérer des magasins isolés

Énumération de magasins

Supprimer un magasin isolé

Suppression de magasins

Créer un fichier ou un répertoire dans un stockage isolé

Comment : créer des fichiers et des répertoires dans un stockage isolé

Rechercher un fichier dans un stockage isolé

Comment : rechercher des fichiers et des répertoires existants dans un stockage isolé

Lire ou écrire dans un fichier dans un stockage isolé

Lecture et écriture dans des fichiers

Supprimer un fichier ou un répertoire dans un stockage isolé

Comment : supprimer des fichiers et des répertoires dans un stockage isolé

Événements de fichier

Le composant FileSystemWatcher vous permet de surveiller les modifications dans les fichiers et répertoires de votre système ou d'un ordinateur auquel vous avez un accès réseau. Par exemple, si un fichier est modifié, vous pouvez envoyer une alerte à un utilisateur pour lui signaler que la modification a eu lieu. Lorsque 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. Pour plus d'informations, consultez Réponse à des événements de système de fichiers.

Pour

Reportez-vous à

Créer un gestionnaire pour les événements du système de fichiers

Comment : créer des gestionnaires pour les événements de système de fichiers

Configurer une instance du composant FileSystemWatcher

Comment : configurer des instances du composant FileSystemWatcher

Voir aussi

Concepts

Composition de flux

E/S de fichier de base

E/S sur fichier asynchrones

Classes utilisées dans les E/S de fichier du .NET Framework et le système de fichiers

Autres ressources

Stockage isolé