Tutorial C # Stream: StreamReader, StreamWriter dengan Contoh

Daftar Isi:

Anonim

Dalam operasi file C #, biasanya aliran digunakan untuk membaca dan menulis ke file. Aliran adalah lapisan tambahan yang dibuat antara aplikasi dan file. Aliran digunakan untuk memastikan kelancaran operasi baca dan tulis ke file.

Stream biasanya digunakan saat membaca data dari file besar. Dengan menggunakan aliran, data dari file besar diuraikan menjadi potongan-potongan kecil dan dikirim ke aliran. Potongan data ini kemudian dapat dibaca dari aplikasi.

Alasan untuk memecahnya menjadi potongan-potongan kecil adalah karena dampak kinerja dari membaca file besar dalam satu kesempatan. Jika Anda membaca data dari katakanlah, file 100 MB sekaligus, aplikasi Anda bisa hang dan menjadi tidak stabil. Pendekatan terbaik kemudian menggunakan aliran untuk memecah file menjadi potongan-potongan yang dapat dikelola.

Jadi, ketika operasi tulis dilakukan pada file, data yang akan ditulis, pertama kali ditulis ke aliran. Dari aliran, data kemudian ditulis ke file. Hal yang sama berlaku untuk operasi baca. Dalam operasi baca, data pertama-tama ditransfer dari file ke aliran. Data tersebut kemudian dibaca dari aplikasi melalui aliran. Mari kita lihat contoh bagaimana kita dapat membaca dan menulis menggunakan aliran.

Dalam tutorial ini, Anda akan belajar-

  • Pembaca Aliran
  • Penulis Aliran

Pembaca Aliran

Pembaca aliran digunakan untuk membaca data dari file menggunakan aliran. Data dari file tersebut pertama kali dibaca ke dalam aliran. Setelah itu aplikasi membaca data dari aliran.

Untuk contoh kami, kami akan menganggap bahwa kami memiliki file di drive D bernama Example.txt. File tersebut akan menjadi file teks sederhana dan memiliki 2 baris seperti yang ditunjukkan di bawah ini

  • Guru99 - .Net
  • Guru99 -C #

Sebagai contoh, kami akan membuat aplikasi Konsol sederhana dan bekerja dengan File stream

Mari kita lihat contoh bagaimana kita dapat menggunakan aliran untuk membaca data dari sebuah file. Masukkan kode di bawah ini ke dalam file 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 Kode: -

  1. Pertama, kami mendeklarasikan objek pembaca aliran. Objek pembaca aliran digunakan di 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 file "Example.txt" dalam mode hanya-baca. Penangan ke file tersebut kemudian dikirim ke objek pembaca aliran.
  2. Selanjutnya, kita mendefinisikan variabel sementara 's' yang akan digunakan untuk membaca semua data dari file.
  3. Kami kemudian menggunakan metode pembaca aliran ReadLine untuk membaca setiap baris dari buffer aliran. Saat kami melakukan operasi ini, setiap baris pertama-tama akan ditransfer dari file ke buffer. Kemudian garis string akan dipindahkan dari buffer ke variabel 's'. Kami kemudian menulis konten string 's' ke konsol.

Ketika kode di atas disetel, dan proyek dijalankan menggunakan Visual Studio, Anda akan mendapatkan output di bawah ini.

Keluaran:-

Dari output, Anda dapat melihat bahwa Stream Reader membaca kedua baris dari file. Akhirnya, baris-baris string yang dibaca dari aliran dikirim ke Konsol.

Penulis Aliran

Penulis aliran digunakan untuk menulis data ke file menggunakan aliran. Data dari aplikasi pertama kali ditulis ke dalam aliran. Setelah itu aliran menulis data ke file. Mari kita lihat contoh bagaimana kita dapat menggunakan aliran untuk menulis data dari sebuah file. Masukkan kode di bawah ini ke dalam file 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 Kode: -

  1. Pertama, kami mendeklarasikan objek penulis aliran. Objek penulis aliran digunakan dalam C # untuk mendefinisikan aliran. Aliran tersebut 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 file "Example.txt" dalam mode append. Penangan ke file kemudian dikirim ke objek penulis aliran.
  2. Kami menggunakan metode penulisan aliran Writeline untuk menulis baris "Guru99 - ASP.Net" ke aliran. Dari aliran, baris tersebut kemudian akan ditulis ke file.
  3. Kami kemudian menutup penulis aliran setelah menulis ke file. Biasanya merupakan praktik yang baik untuk menutup penangan file saat file tidak lagi diperlukan untuk tujuan penulisan.
  4. Terakhir, kami membaca kembali konten file dan menulisnya ke log konsol. Ini untuk memeriksa apakah baris itu ditulis ke file.

Ketika kode di atas disetel, dan proyek dijalankan menggunakan Visual Studio, Anda akan mendapatkan output di bawah ini.

Keluaran:-

Dari output, Anda dapat melihat bahwa baris "Guru99 - ASP.Net" berhasil ditambahkan ke file. Semua 3 baris teks dapat dilihat di konsol.

Ringkasan

  • Aliran digunakan sebagai tingkat perantara antara aplikasi dan file.
  • StreamReader digunakan setiap kali data diperlukan untuk dibaca dari file.
  • Streamwriter digunakan setiap kali data perlu ditulis ke file.