Tutorial C # Stream: StreamReader, StreamWriter dengan Contoh

Isi kandungan:

Anonim

Dalam operasi fail C #, biasanya aliran digunakan untuk membaca dan menulis ke fail. Aliran adalah lapisan tambahan yang dibuat antara aplikasi dan fail. Aliran digunakan untuk memastikan operasi membaca dan menulis lancar ke fail.

Aliran biasanya digunakan semasa membaca data dari fail besar. Dengan menggunakan aliran, data dari fail besar dipecah menjadi potongan kecil dan dikirim ke aliran. Potongan data ini kemudian dapat dibaca dari aplikasi.

Sebab untuk memecahnya menjadi bahagian kecil adalah kerana kesan prestasi membaca fail besar dalam satu tangkapan. Sekiranya anda membaca data dari kata, fail 100 MB sekaligus, aplikasi anda boleh digantung dan tidak stabil. Pendekatan terbaik adalah dengan menggunakan aliran untuk memecah fail menjadi bahagian yang dapat dikendalikan.

Oleh itu, apabila operasi menulis dijalankan dalam fail, data yang akan ditulis, pertama kali ditulis ke aliran. Dari aliran, data kemudian ditulis ke fail. Perkara yang sama berlaku untuk operasi baca. Dalam operasi baca, data pertama kali dipindahkan dari fail ke aliran. Data kemudian dibaca dari aplikasi melalui aliran. Mari kita lihat contoh bagaimana kita boleh membaca dan menulis menggunakan aliran.

Dalam tutorial ini, anda akan belajar-

  • Pembaca Aliran
  • Penulis Aliran

Pembaca Aliran

Pembaca aliran digunakan untuk membaca data dari fail menggunakan aliran. Data dari fail pertama kali dibaca ke dalam aliran. Selepas itu aplikasi membaca data dari aliran.

Sebagai contoh, kami akan menganggap bahawa kami mempunyai fail dalam pemacu D yang dipanggil Contoh.txt. Fail tersebut akan menjadi fail teks sederhana dan mempunyai 2 baris seperti gambar di bawah

  • Guru99 -. Bersih
  • Guru99 -C #

Sebagai contoh, kami akan membuat aplikasi Konsol sederhana dan bekerjasama dengan aliran Fail

Mari kita lihat contoh bagaimana kita boleh menggunakan aliran untuk membaca data dari fail. Masukkan kod di bawah dalam fail program.cs.

using System;using System.IO;using System.Linq;using System.Text;using System.Threading.Tasks;namespace DemoApplication{class Tutorial{static void Main(string[] args){String path = @"D:\Example.txt";using (StreamReader sr = File.OpenText(path)){String s = "";while ((s = sr.ReadLine()) != null){Console.WriteLine(s);}}Console.ReadKey();}}}

Penjelasan Kod: -

  1. Pertama, kita menyatakan objek pembaca aliran. Objek pembaca aliran digunakan dalam C # untuk menentukan aliran dari file ke aplikasi. Data akan didorong dari file ke aliran setiap kali data dibaca dari file. File.OpenText digunakan untuk membuka fail "Contoh.txt" dalam mod baca sahaja. Penangan ke fail kemudian dihantar ke objek pembaca aliran.
  2. Seterusnya, kami mendefinisikan pemboleh ubah sementara yang akan digunakan untuk membaca semua data dari fail.
  3. Kami kemudian menggunakan kaedah pembaca aliran ReadLine untuk membaca setiap baris dari penyangga aliran. Semasa kita menjalankan operasi ini, setiap baris akan dipindahkan terlebih dahulu dari file ke buffer. Kemudian garis rentetan akan dipindahkan dari penyangga ke pemboleh ubah 's'. Kami kemudian menulis kandungan rentetan ke konsol.

Apabila kod di atas ditetapkan, dan projek dijalankan menggunakan Visual Studio, anda akan mendapat output di bawah.

Pengeluaran:-

Dari hasilnya, anda dapat melihat bahawa Pembaca Aliran membaca kedua-dua baris dari fail. Akhirnya, baris rentetan yang dibaca dari aliran dihantar ke Konsol.

Penulis Aliran

Penulis aliran digunakan untuk menulis data ke fail menggunakan aliran. Data dari aplikasi pertama kali ditulis ke dalam aliran. Selepas itu aliran menulis data ke fail. Mari kita lihat contoh bagaimana kita boleh menggunakan aliran untuk menulis data dari fail. Masukkan kod di bawah dalam fail program.cs.

using System;using System.IO;using System.Linq;using System.Text;using System.Threading.Tasks;namespace DemoApplication{class Tutorial{static void Main(string[] args){String path = @"D:\Example.txt";using (StreamWriter sr = File.AppendText(path)){sr.WriteLine("Guru99 - ASP.Net");sr.Close();Console.WriteLine(File.ReadAllText(path));}Console.ReadKey();}}}

Penjelasan Kod: -

  1. Pertama, kita menyatakan objek penulis aliran. Objek penulis aliran digunakan dalam C # untuk menentukan aliran. Aliran kemudian digunakan untuk menulis data dari aplikasi ke file. Data akan didorong dari aplikasi ke aliran setiap kali data perlu ditulis. Perintah File.AppendText digunakan untuk membuka fail "Contoh.txt" dalam mod lampiran. Penangan ke fail kemudian dihantar ke objek penulis aliran.
  2. Kami menggunakan kaedah menulis aliran Writeline untuk menulis baris "Guru99 - ASP.Net" ke aliran. Dari aliran, baris kemudian akan ditulis ke fail.
  3. Kami kemudian menutup penulis aliran setelah menulis ke fail. Biasanya merupakan amalan yang baik untuk menutup pengendali fail apabila fail tidak lagi diperlukan untuk tujuan penulisan.
  4. Akhirnya, kami membaca semula kandungan fail tersebut dan menulisnya ke log konsol. Ini untuk memeriksa sama ada baris ditulis ke fail.

Apabila kod di atas ditetapkan, dan projek dijalankan menggunakan Visual Studio, anda akan mendapat output di bawah.

Pengeluaran:-

Dari hasilnya, anda dapat melihat bahawa baris "Guru99 - ASP.Net" berjaya ditambahkan ke fail. Ketiga-tiga baris teks dapat dilihat di konsol.

Ringkasan

  • Aliran digunakan sebagai tahap pertengahan antara aplikasi dan fail.
  • StreamReader digunakan setiap kali data diperlukan untuk dibaca dari fail.
  • Streamwriter digunakan setiap kali data perlu ditulis ke fail.