Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Program C# untuk membaca tatasusunan bait dan menulisnya pada fail menggunakan kelas FileStream

Program C# untuk membaca tatasusunan bait dan menulisnya pada fail menggunakan kelas FileStream

WBOY
WBOYke hadapan
2023-08-29 16:21:041095semak imbas

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

C# ialah bahasa pengaturcaraan berorientasikan objek yang berkuasa yang digunakan untuk membangunkan pelbagai aplikasi. Dalam artikel ini, kita akan membincangkan cara menulis program C# untuk membaca dan menulis tatasusunan bait pada fail menggunakan kelas FileStream.

Langkah 1: Buat tatasusunan bait

Langkah pertama program ini ialah mencipta tatasusunan bait yang ingin kita tulis pada fail. Ini adalah contoh -

byte[] byteArray = { 0x48, 0x65, 0x6c, 0x6c, 0x6f, 0x20, 0x57, 0x6f, 0x72, 0x6c, 0x64 };

Langkah 2: Tulis tatasusunan bait ke fail

Langkah seterusnya ialah menulis tatasusunan bait pada fail menggunakan kelas FileStream. Kita perlu mencipta contoh baharu kelas FileStream dan lulus laluan fail, FileMode, FileAccess dan FileShare sebagai parameter kepada pembinanya. Berikut adalah contoh -

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

Langkah 3: Baca tatasusunan bait daripada fail

Untuk membaca tatasusunan bait daripada fail, kita perlu mencipta contoh baharu kelas FileStream dan lulus laluan fail, FileMode, FileAccess dan FileShare sebagai parameter kepada pembinanya. Kami kemudian mencipta tatasusunan bait dan membaca kandungan fail ke dalam tatasusunan bait menggunakan kaedah Read() kelas FileStream. Ini adalah contoh -

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

Langkah 4: Bandingkan tatasusunan bait

Akhir sekali, kita perlu membandingkan tatasusunan bait asal dan tatasusunan bait yang dibaca daripada fail untuk memastikan ia adalah sama. Kita boleh membandingkan dua tatasusunan bait menggunakan kaedah SequenceEqual() kelas Enumerable. Ini adalah contoh -

bool areEqual = byteArray.SequenceEqual(readByteArray);

Contoh

Ini ialah program C# yang lengkap -

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);
      }
   }
}

Output

Are the byte arrays equal? True

Kesimpulan

Dalam artikel ini, kami mempelajari cara menulis program C# untuk membaca dan menulis tatasusunan bait pada fail menggunakan kelas FileStream. Program ini boleh digunakan dalam pelbagai senario, seperti membaca dan menulis imej atau fail audio. Dengan memahami konsep yang diliputi dalam artikel ini, anda boleh membangunkan aplikasi yang lebih maju yang memerlukan input dan output fail. Saya harap artikel ini telah membantu dalam perjalanan pengaturcaraan anda. Selamat mengekod!

Atas ialah kandungan terperinci Program C# untuk membaca tatasusunan bait dan menulisnya pada fail menggunakan kelas FileStream. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam
Artikel sebelumnya:Pemula objek dalam C#Artikel seterusnya:Pemula objek dalam C#