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

WBOY
Lepaskan: 2023-08-29 16:21:04
ke hadapan
1073 orang telah melayarinya

使用 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 };
Salin selepas log masuk

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);
}
Salin selepas log masuk

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);
}
Salin selepas log masuk

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);
Salin selepas log masuk

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);
      }
   }
}
Salin selepas log masuk

Output

Are the byte arrays equal? True
Salin selepas log masuk

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!

sumber:tutorialspoint.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!