Maison développement back-end Tutoriel C#.Net [Tutoriel C#] Entrée et sortie de fichier C#

[Tutoriel C#] Entrée et sortie de fichier C#

Dec 24, 2016 pm 01:32 PM
c#

Entrée et sortie de fichier C#

Un fichier est une collection de données stockées sur le disque avec un nom et un chemin de répertoire spécifiés. Lorsqu'un fichier est ouvert en lecture ou en écriture, il devient un flux.

Fondamentalement, un flux est une séquence d'octets transmis sur un chemin de communication. Il existe deux flux principaux : le flux d’entrée et le flux de sortie. Le flux d'entrée est utilisé pour lire les données du fichier (opération de lecture) et le flux de sortie est utilisé pour écrire des données dans le fichier (opération d'écriture).

Classes d'E/S C#

L'espace de noms System.IO comporte différentes classes qui sont utilisées pour effectuer diverses opérations sur les fichiers telles que la création et la suppression de fichiers, la lecture ou l'écriture de fichiers, la fermeture de fichiers, etc.

Le tableau suivant répertorie certaines classes non abstraites couramment utilisées dans l'espace de noms System.IO :

Classes d'E/S

Description

BinaryReader Lit les données brutes du flux binaire.

BinaryWriter Écrit des données brutes au format binaire.

BufferedStream Stockage temporaire du flux d'octets.

Directory permet de manipuler la structure des répertoires.

DirectoryInfo est utilisé pour effectuer des opérations sur les répertoires.

DriveInfo Fournit des informations sur le lecteur.

File aide au traitement des fichiers.

FileInfo est utilisé pour effectuer des opérations sur les fichiers.

FileStream est utilisé pour lire et écrire n'importe où dans le fichier.

MemoryStream est utilisé pour un accès aléatoire au flux de données stocké en mémoire.

Chemin Effectuez des opérations sur les informations de chemin.

StreamReader est utilisé pour lire les caractères d'un flux d'octets.

StreamWriter est utilisé pour écrire des caractères dans un flux.

StringReader est utilisé pour lire le tampon de chaîne.

StringWriter est utilisé pour écrire dans le tampon de chaîne.

Classe FileStream

La classe FileStream dans l'espace de noms System.IO facilite la lecture, l'écriture et la fermeture de fichiers. Cette classe est dérivée de la classe abstraite Stream.

Vous devez créer un objet FileStream pour créer un nouveau fichier ou ouvrir un fichier existant. La syntaxe de création d'un objet FileStream est la suivante :

FileStream <object_name> = new FileStream( <file_name>,
<FileMode Enumerator>, <FileAccess Enumerator>, <FileShare Enumerator>);
Copier après la connexion

Par exemple, créez un objet FileStream F pour lire un fichier nommé sample.txt :

FileStream F = new FileStream("sample.txt", FileMode.Open, FileAccess.Read, FileShare.Read);
Copier après la connexion

Paramètres

Description

FileMode L'énumération

FileMode définit différentes méthodes d'ouverture de fichiers. Les membres de l'énumération FileMode sont :

Append : ouvrez un fichier existant et placez le curseur à la fin du fichier. Si le fichier n'existe pas, créez le fichier.

Créer : créer un nouveau fichier. Si le fichier existe déjà, l'ancien fichier est supprimé et le nouveau fichier est créé.

CreateNew : Spécifie que le système d'exploitation doit créer un nouveau fichier. Si le fichier existe déjà, une exception est levée.

Ouvrir : ouvrir un fichier existant. Si le fichier n'existe pas, une exception est levée.

OpenOrCreate : Spécifie que le système d'exploitation doit ouvrir un fichier existant. Si le fichier n'existe pas, un nouveau fichier est créé avec le nom spécifié et ouvert.

Tronquer : ouvrez un fichier existant. Une fois le fichier ouvert, il sera tronqué à une taille de zéro octet. Nous pouvons alors écrire des données complètement nouvelles dans le fichier tout en conservant la date de création originale du fichier. Si le fichier n'existe pas, une exception est levée.

FileAccess Les membres de l'énumération

FileAccess sont : Read, ReadWrite et Write.

FileShare Les membres de l'énumération

FileShare sont :

Héritable : permet aux processus enfants d'hériter des descripteurs de fichiers. . Win32 ne prend pas directement en charge cette fonctionnalité.

Aucun : refuser de partager le fichier actuel. Toute demande d'ouverture du fichier (à partir de ce processus ou d'un autre processus) échouera jusqu'à la fermeture du fichier.

Lecture : Permet l'ouverture ultérieure du fichier en lecture. Si cet indicateur n'est pas spécifié, toute demande d'ouverture du fichier en lecture (à partir de ce processus ou d'un autre processus) échouera jusqu'à la fermeture du fichier. Cependant, même si cet indicateur est spécifié, des autorisations supplémentaires peuvent être requises pour accéder au fichier.

ReadWrite : Permet d'ouvrir ultérieurement le fichier en lecture ou en écriture. Si cet indicateur n'est pas spécifié, toute demande d'ouverture du fichier en lecture ou en écriture (à partir de ce processus ou d'un autre processus) échouera jusqu'à la fermeture du fichier. Cependant, même si cet indicateur est spécifié, des autorisations supplémentaires peuvent être requises pour accéder au fichier.

Write:允许随后打开文件写入。如果未指定此标志,则文件关闭前,任何打开该文件以进行写入的请求(由此进程或另一进过程发出的请求)都将失败。但是,即使指定了此标志,仍可能需要附加权限才能够访问该文件。

Delete:允许随后删除文件。

实例

下面的程序演示了 FileStream 类的用法:

using System;
using System.IO;

namespace FileIOApplication
{
    class Program
    {
        static void Main(string[] args)
        {
            FileStream F = new FileStream("test.dat", 
            FileMode.OpenOrCreate, FileAccess.ReadWrite);

            for (int i = 1; i <= 20; i++)
            {
                F.WriteByte((byte)i);
            }

            F.Position = 0;

            for (int i = 0; i <= 20; i++)
            {
                Console.Write(F.ReadByte() + " ");
            }
            F.Close();
            Console.ReadKey();
        }
    }
}
Copier après la connexion

当上面的代码被编译和执行时,它会产生下列结果:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 -1
Copier après la connexion

C# 高级文件操作

上面的实例演示了 C# 中简单的文件操作。但是,要充分利用 C# System.IO 类的强大功能,您需要知道这些类常用的属性和方法。

在下面的章节中,我们将讨论这些类和它们执行的操作。请单击链接详细了解各个部分的知识:

主题

描述

文本文件的读写    它涉及到文本文件的读写。StreamReader 和 StreamWriter 类有助于完成文本文件的读写。    

二进制文件的读写    它涉及到二进制文件的读写。BinaryReader 和 BinaryWriter 类有助于完成二进制文件的读写。    

Windows 文件系统的操作    它让 C# 程序员能够浏览并定位 Windows 文件和目录。    

 以上就是【c#教程】C# 文件的输入与输出的内容,更多相关内容请关注PHP中文网(www.php.cn)!


Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Commandes de chat et comment les utiliser
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Active Directory avec C# Active Directory avec C# Sep 03, 2024 pm 03:33 PM

Guide d'Active Directory avec C#. Nous discutons ici de l'introduction et du fonctionnement d'Active Directory en C# ainsi que de la syntaxe et de l'exemple.

Sérialisation C# Sérialisation C# Sep 03, 2024 pm 03:30 PM

Guide de sérialisation C#. Nous discutons ici de l'introduction, des étapes de l'objet de sérialisation C#, du fonctionnement et de l'exemple respectivement.

Générateur de nombres aléatoires en C# Générateur de nombres aléatoires en C# Sep 03, 2024 pm 03:34 PM

Guide du générateur de nombres aléatoires en C#. Nous discutons ici du fonctionnement du générateur de nombres aléatoires, du concept de nombres pseudo-aléatoires et sécurisés.

Vue Grille de données C# Vue Grille de données C# Sep 03, 2024 pm 03:32 PM

Guide de la vue Grille de données C#. Nous discutons ici des exemples de la façon dont une vue de grille de données peut être chargée et exportée à partir de la base de données SQL ou d'un fichier Excel.

Modèles en C# Modèles en C# Sep 03, 2024 pm 03:33 PM

Guide des modèles en C#. Nous discutons ici de l'introduction et des 3 principaux types de modèles en C# ainsi que de ses exemples et de l'implémentation du code.

Nombres premiers en C# Nombres premiers en C# Sep 03, 2024 pm 03:35 PM

Guide des nombres premiers en C#. Nous discutons ici de l'introduction et des exemples de nombres premiers en c# ainsi que de l'implémentation du code.

Factorielle en C# Factorielle en C# Sep 03, 2024 pm 03:34 PM

Guide de Factorial en C#. Nous discutons ici de l'introduction de factorial en c# ainsi que de différents exemples et de l'implémentation du code.

La différence entre le multithreading et le C # asynchrone La différence entre le multithreading et le C # asynchrone Apr 03, 2025 pm 02:57 PM

La différence entre le multithreading et l'asynchrone est que le multithreading exécute plusieurs threads en même temps, tandis que les opérations effectuent de manière asynchrone sans bloquer le thread actuel. Le multithreading est utilisé pour les tâches à forte intensité de calcul, tandis que de manière asynchrone est utilisée pour l'interaction utilisateur. L'avantage du multi-threading est d'améliorer les performances informatiques, tandis que l'avantage des asynchrones est de ne pas bloquer les threads d'interface utilisateur. Le choix du multithreading ou asynchrone dépend de la nature de la tâche: les tâches à forte intensité de calcul utilisent le multithreading, les tâches qui interagissent avec les ressources externes et doivent maintenir la réactivité de l'interface utilisateur à utiliser asynchrone.

See all articles