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.
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 };
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); }
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); }
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);
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); } } }
Are the byte arrays equal? True
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!