Menguasai Aliran File C#: StreamReader & StreamWriter – Panduan Langkah demi Langkah
Dalam I/O file C#, aliran berfungsi sebagai perantara antara aplikasi Anda dan sistem file yang mendasarinya. Mereka memungkinkan Anda untuk membaca dari atau menulis ke file secara hemat memori, terutama saat menangani kumpulan data besar.
Alih-alih memuat seluruh file 100 MB ke dalam memori—yang dapat menyebabkan aplikasi Anda membeku—aliran memecah data menjadi potongan yang dapat dikelola. Pendekatan ini menjaga performa tetap lancar dan mencegah kerusakan.
Di bawah ini Anda akan menemukan contoh ringkas yang menunjukkan cara membaca dan menulis file menggunakan StreamReader dan StreamWriter. Ikuti petunjuk langkah demi langkah untuk mengintegrasikan pola ini ke dalam proyek Anda sendiri.
StreamReader – Membaca File
Kelas StreamReader membaca teks dari file satu baris pada satu waktu, melewatkan data melalui buffer sebelum aplikasi Anda memprosesnya.
Asumsikan Anda memiliki file bernama Example.txt di drive D yang berisi dua baris:
Guru99 – .Net
Guru99 – C#
Buat aplikasi konsol dan tambahkan kode berikut ke Program.cs:
using System; using System.IO; namespace DemoApplication { class Tutorial { static void Main(string[] args) { string path = @"D:\Example.txt"; using (StreamReader sr = File.OpenText(path)) { string line; while ((line = sr.ReadLine()) != null) { Console.WriteLine(line); } } Console.ReadKey(); } } }
Penjelasan:
Buat instance StreamReader dengan File.OpenText, membuka file dalam mode hanya baca.
Baca setiap baris dengan ReadLine(), yang mentransfer data dari file ke buffer lalu ke variabel line.
Output setiap baris ke konsol.
Menjalankan program ini di Visual Studio menampilkan:
Dua baris dari Example.txt muncul dengan benar, membuktikan bahwa pembaca berfungsi sebagaimana mestinya.
StreamWriter – Menulis ke File
Sebaliknya, StreamWriter menulis teks dari aplikasi Anda ke file melalui buffer. Di bawah ini adalah contoh sederhana yang menambahkan baris ke file Example.txt yang sama.
using System; using System.IO; namespace DemoApplication { class Tutorial { static void Main(string[] args) { string path = @"D:\Example.txt"; using (StreamWriter sw = File.AppendText(path)) { sw.WriteLine("Guru99 – ASP.Net"); } Console.WriteLine(File.ReadAllText(path)); Console.ReadKey(); } } }
Penjelasan:
Buat instance StreamWriter dengan File.AppendText, membuka file dalam mode tambah.
Tulis baris baru menggunakan WriteLine(), yang mendorong teks ke buffer lalu ke file.
Tutup penulis secara otomatis melalui blok using.
Baca seluruh konten file dengan File.ReadAllText untuk mengonfirmasi operasi penulisan.
Menjalankan program ini menunjukkan:
Konsol menampilkan semua tiga baris, mengonfirmasi bahwa entri baru telah ditambahkan dengan berhasil.
Poin Utama
Aliran memisahkan I/O file dari logika aplikasi, memungkinkan penanganan yang efisien file besar.
Gunakan StreamReader untuk membaca teks baris demi baris.
Gunakan StreamWriter untuk menulis atau menambahkan teks, pastikan Anda menutup aliran untuk melepaskan handle file.