Programme C# pour lire un tableau d'octets et l'écrire dans un fichier à l'aide de la classe FileStream

WBOY
Libérer: 2023-08-29 16:21:04
avant
1117 Les gens l'ont consulté

使用 FileStream 类读取字节数组并将其写入文件的 C# 程序

C# est un puissant langage de programmation orienté objet utilisé pour développer diverses applications. Dans cet article, nous verrons comment écrire un programme C# pour lire et écrire un tableau d'octets dans un fichier à l'aide de la classe FileStream.

Étape 1 : Créer un tableau d'octets

La première étape du programme consiste à créer un tableau d'octets que nous souhaitons écrire dans le fichier. Voici un exemple -

byte[] byteArray = { 0x48, 0x65, 0x6c, 0x6c, 0x6f, 0x20, 0x57, 0x6f, 0x72, 0x6c, 0x64 };
Copier après la connexion

Étape 2 : Écrire un tableau d'octets dans un fichier

L'étape suivante consiste à écrire le tableau d'octets dans un fichier à l'aide de la classe FileStream. Nous devons créer une nouvelle instance de la classe FileStream et transmettre le chemin du fichier, FileMode, FileAccess et FileShare comme paramètres à son constructeur. Voici un exemple -

string filePath = "C:\MyFile.txt";
using (FileStream fileStream = new FileStream(filePath, FileMode.Create, FileAccess.Write, FileShare.None)) {
   fileStream.Write(byteArray, 0, byteArray.Length);
}
Copier après la connexion

Étape 3 : Lire le tableau d'octets à partir du fichier

Pour lire un tableau d'octets à partir d'un fichier, nous devons créer une nouvelle instance de la classe FileStream et transmettre le chemin du fichier, FileMode, FileAccess et FileShare comme paramètres à son constructeur. Nous créons ensuite un tableau d'octets et lisons le contenu du fichier dans le tableau d'octets à l'aide de la méthode Read() de la classe FileStream. Voici un exemple -

byte[] readByteArray = new byte[byteArray.Length];
using (FileStream fileStream = new FileStream(filePath, FileMode.Open, FileAccess.Read, FileShare.Read)) {
   fileStream.Read(readByteArray, 0, readByteArray.Length);
}
Copier après la connexion

Étape 4 : Comparez les tableaux d'octets

Enfin, nous devons comparer le tableau d'octets d'origine et le tableau d'octets lu à partir du fichier pour nous assurer qu'ils sont identiques. Nous pouvons comparer deux tableaux d'octets en utilisant la méthode SequenceEqual() de la classe Enumerable. Voici un exemple -

bool areEqual = byteArray.SequenceEqual(readByteArray);
Copier après la connexion

Exemple

Voici le programme C# complet -

using System;
using System.IO;
using System.Linq;

namespace ByteArrayToFile {
   class Program {
      static void Main(string[] args) {
         byte[] byteArray = { 0x48, 0x65, 0x6c, 0x6c, 0x6f, 0x20, 0x57, 0x6f, 0x72, 0x6c, 0x64 };
         string filePath = "C:\MyFile.txt";
         
         // Write byte array to file
         using (FileStream fileStream = new FileStream(filePath, FileMode.Create, FileAccess.Write, FileShare.None)) {
            fileStream.Write(byteArray, 0, byteArray.Length);
         }
         
         // Read byte array from file
         byte[] readByteArray = new byte[byteArray.Length];
         using (FileStream fileStream = new FileStream(filePath, FileMode.Open, FileAccess.Read, FileShare.Read)) {
            fileStream.Read(readByteArray, 0, readByteArray.Length);
         }

         // Compare the byte arrays
         bool areEqual = byteArray.SequenceEqual(readByteArray);
         Console.WriteLine("Are the byte arrays equal? " + areEqual);
      }
   }
}
Copier après la connexion

Sortie

Are the byte arrays equal? True
Copier après la connexion

Conclusion

Dans cet article, nous avons appris à écrire un programme C# pour lire et écrire des tableaux d'octets dans des fichiers à l'aide de la classe FileStream. Ce programme peut être utilisé dans une variété de scénarios, tels que la lecture et l'écriture de fichiers image ou audio. En comprenant les concepts abordés dans cet article, vous pouvez développer des applications plus avancées nécessitant une entrée et une sortie de fichier. J'espère que cet article vous a été utile dans votre parcours de programmation. Bon codage !

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!

source:tutorialspoint.com
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal