Maison  >  Article  >  développement back-end  >  Comment utiliser les opérations d'E/S sur fichiers et de flux pour la lecture et l'écriture de données en C# et solutions

Comment utiliser les opérations d'E/S sur fichiers et de flux pour la lecture et l'écriture de données en C# et solutions

PHPz
PHPzoriginal
2023-10-08 08:45:25670parcourir

Comment utiliser les opérations dE/S sur fichiers et de flux pour la lecture et lécriture de données en C# et solutions

Comment utiliser les opérations d'E/S sur fichiers et de flux pour la lecture et l'écriture de données en C# et solutions

Pendant le processus de développement, nous avons souvent besoin de lire et d'écrire des fichiers. C# fournit une multitude d'opérations d'E/S et de flux de fichiers, rendant la lecture et l'écriture de données plus flexibles et efficaces. Cet article explique comment utiliser les opérations d'E/S sur les fichiers et de flux pour lire et écrire des données en C#, et fournit des exemples de code spécifiques.

Il existe de nombreuses façons de lire des données, les plus courantes incluent la lecture de fichiers texte, de fichiers binaires et de flux réseau. Ci-dessous, nous présenterons respectivement les méthodes de mise en œuvre spécifiques de ces méthodes de lecture.

  1. Lire des fichiers texte

La lecture de fichiers texte est l'une des méthodes les plus courantes de lecture de données. La classe StreamReader est utilisée en C# pour lire des fichiers texte. L'exemple de code est le suivant :

string path = "文件路径";
using (StreamReader sr = new StreamReader(path))
{
    string line;
    while ((line = sr.ReadLine()) != null)
    {
        // 处理每一行的数据
        Console.WriteLine(line);
    }
}

Dans le code ci-dessus, instanciez la classe StreamReader et transmettez le chemin du fichier, puis utilisez la méthode ReadLine() pour lire les données. dans le fichier ligne par ligne. Chaque ligne de données peut être traitée selon les besoins.

  1. Lecture de fichiers binaires

La lecture de fichiers binaires nécessite l'utilisation de la classe BinaryReader. L'exemple de code est le suivant :

string path = "二进制文件路径";
using (FileStream fs = new FileStream(path, FileMode.Open))
{
    using (BinaryReader br = new BinaryReader(fs))
    {
        byte[] buffer = new byte[1024];
        int bytesRead = 0;

        while ((bytesRead = br.Read(buffer, 0, buffer.Length)) > 0)
        {
            // 处理读取的数据
            // ...
        }
    }
}

Dans le code ci-dessus, créez d'abord un objet FileStream et utilisez le paramètre FileMode.Open pour ouvrir le fichier. fichier en mode lecture seule. Créez ensuite un objet BinaryReader et transmettez l'objet FileStream en tant que paramètre. Lisez les données binaires via la méthode Read() et traitez-les selon les besoins.

  1. Lire le flux réseau

Lors de la transmission de données réseau, nous avons souvent besoin de lire le flux réseau. Les classes TcpClient et NetworkStream sont utilisées en C# pour lire les flux réseau. L'exemple de code est le suivant :

string serverIP = "服务器IP";
int serverPort = 8080;

using (TcpClient client = new TcpClient(serverIP, serverPort))
{
    using (NetworkStream ns = client.GetStream())
    {
        byte[] buffer = new byte[1024];
        int bytesRead = 0;

        while ((bytesRead = ns.Read(buffer, 0, buffer.Length)) > 0)
        {
            // 处理读取的网络流数据
            // ...
        }
    }
}

Dans l'exemple de code ci-dessus, créez d'abord l'objet TcpClient et transmettez l'adresse IP et le numéro de port du serveur. Appelez ensuite la méthode GetStream() via l'objet TcpClient pour obtenir l'objet NetworkStream et utilisez la méthode Read() pour lire les données du flux réseau.

L'écriture de fichiers est similaire à la lecture. Des exemples de code spécifiques sont donnés ci-dessous.

  1. Écrire un fichier texte

Écrivez un fichier texte à l'aide de la classe StreamWriter. L'exemple de code est le suivant :

string path = "文件路径";
using (StreamWriter sw = new StreamWriter(path))
{
    string text = "要写入的文本";
    sw.WriteLine(text);
}

Dans l'exemple de code ci-dessus, instanciez la classe StreamWriter et transmettez le chemin du fichier, puis utilisez le Méthode WriteLine() pour écrire le texte Le contenu est écrit dans le fichier.

  1. Écriture de fichiers binaires

L'écriture de fichiers binaires nécessite l'utilisation de la classe BinaryWriter. L'exemple de code est le suivant :

string path = "二进制文件路径";
using (FileStream fs = new FileStream(path, FileMode.Create))
{
    using (BinaryWriter bw = new BinaryWriter(fs))
    {
        byte[] data = new byte[] { 0x01, 0x02, 0x03, 0x04 };
        bw.Write(data);
    }
}

Dans l'exemple de code ci-dessus, un objet BinaryWriter est créé et un objet FileStream est transmis en tant que fichier binaire. paramètre. Écrivez des données binaires dans le fichier via la méthode Write().

  1. Écriture d'un flux réseau

L'écriture d'un flux réseau est similaire à la lecture, en utilisant les classes TcpClient et NetworkStream, l'exemple de code est le suivant :

string serverIP = "服务器IP";
int serverPort = 8080;

using (TcpClient client = new TcpClient(serverIP, serverPort))
{
    using (NetworkStream ns = client.GetStream())
    {
        byte[] data = new byte[] { 0x01, 0x02, 0x03, 0x04 };
        ns.Write(data, 0, data.Length);
    }
}

Dans l'exemple de code ci-dessus, créez d'abord l'objet TcpClient et transmettez l'adresse IP. du serveur et du numéro de port. Appelez ensuite la méthode GetStream() via l'objet TcpClient pour obtenir l'objet NetworkStream et utilisez la méthode Write() pour écrire les données dans le flux réseau.

Résumé :

Cet article explique comment utiliser C# pour les opérations d'E/S sur les fichiers et de flux afin de lire et d'écrire des données. La lecture de fichiers texte, de fichiers binaires et de flux réseau peut être facilement réalisée grâce à des classes telles que StreamReader, BinaryReader et NetworkStream ; tandis que des classes telles que StreamWriter, BinaryWriter et NetworkStream peuvent être utilisées pour écrire des fichiers texte, des fichiers binaires et des flux réseau. En utilisant ces classes, nous pouvons lire et écrire des données de manière flexible et efficace.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
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