C# ist eine leistungsstarke objektorientierte Programmiersprache, die zur Entwicklung verschiedener Anwendungen verwendet wird. In diesem Artikel besprechen wir, wie man ein C#-Programm schreibt, um mithilfe der FileStream-Klasse ein Byte-Array zu lesen und in eine Datei zu schreiben.
Der erste Schritt des Programms besteht darin, ein Byte-Array zu erstellen, das wir in die Datei schreiben möchten. Hier ist ein Beispiel -
byte[] byteArray = { 0x48, 0x65, 0x6c, 0x6c, 0x6f, 0x20, 0x57, 0x6f, 0x72, 0x6c, 0x64 };
Der nächste Schritt besteht darin, das Byte-Array mithilfe der FileStream-Klasse in eine Datei zu schreiben. Wir müssen eine neue Instanz der FileStream-Klasse erstellen und den Dateipfad, FileMode, FileAccess und FileShare als Parameter an ihren Konstruktor übergeben. Hier ist ein Beispiel -
string filePath = "C:\MyFile.txt"; using (FileStream fileStream = new FileStream(filePath, FileMode.Create, FileAccess.Write, FileShare.None)) { fileStream.Write(byteArray, 0, byteArray.Length); }
Um ein Byte-Array aus einer Datei zu lesen, müssen wir eine neue Instanz der FileStream-Klasse erstellen und den Dateipfad, FileMode, FileAccess und FileShare als Parameter an ihren Konstruktor übergeben. Anschließend erstellen wir ein Byte-Array und lesen den Inhalt der Datei mithilfe der Read()-Methode der FileStream-Klasse in das Byte-Array ein. Hier ist ein Beispiel -
byte[] readByteArray = new byte[byteArray.Length]; using (FileStream fileStream = new FileStream(filePath, FileMode.Open, FileAccess.Read, FileShare.Read)) { fileStream.Read(readByteArray, 0, readByteArray.Length); }
Abschließend müssen wir das ursprüngliche Byte-Array und das aus der Datei gelesene Byte-Array vergleichen, um sicherzustellen, dass sie identisch sind. Wir können zwei Byte-Arrays mit der Methode SequenceEqual() der Klasse Enumerable vergleichen. Hier ist ein Beispiel -
bool areEqual = byteArray.SequenceEqual(readByteArray);
Dies ist das komplette C#-Programm -
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
In diesem Artikel haben wir gelernt, wie man mithilfe der FileStream-Klasse ein C#-Programm schreibt, um Byte-Arrays in Dateien zu lesen und zu schreiben. Dieses Programm kann in einer Vielzahl von Szenarien verwendet werden, beispielsweise zum Lesen und Schreiben von Bild- oder Audiodateien. Wenn Sie die in diesem Artikel behandelten Konzepte verstehen, können Sie fortgeschrittenere Anwendungen entwickeln, die eine Dateieingabe und -ausgabe erfordern. Ich hoffe, dieser Artikel war hilfreich für Ihre Programmierreise. Viel Spaß beim Codieren!
Das obige ist der detaillierte Inhalt vonC#-Programm zum Lesen eines Byte-Arrays und Schreiben in eine Datei mithilfe der FileStream-Klasse. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!