ภาพรวม
ใช้ StreamReader.ReadToEnd() อ่านเนื้อหาไฟล์ทั้งหมดเข้าสตริงเดียวในครั้งเดียว เหมาะสำหรับไฟล์ขนาดเล็ก-ปานกลาง
รูปแบบการใช้งาน
using (StreamReader sr = new StreamReader("new.txt"))
{
string content = sr.ReadToEnd();
Console.WriteLine(content);
}
ตัวอย่างโค้ดเต็ม (สร้างไฟล์ แล้วอ่าน)
using System;
using System.IO;
public class Demo
{
public static void Main()
{
// เขียนไฟล์ทดสอบ
using (StreamWriter sw = new StreamWriter("new.txt"))
{
sw.WriteLine("One");
sw.WriteLine("Two");
}
// อ่านทั้งไฟล์
using (StreamReader sr = new StreamReader("new.txt"))
{
string res = sr.ReadToEnd();
Console.WriteLine(res);
}
}
}
ผลลัพธ์
One Two
ข้อสังเกต
- ใช้
usingstatement ปิดไฟล์อัตโนมัติ (IDisposable) ReadToEnd()โหลดทั้งไฟล์เข้าหน่วยความจำ - ไม่เหมาะกับไฟล์ใหญ่ (หลายร้อย MB ขึ้นไป)- ไฟล์ใหญ่: ใช้
ReadLine()ในลูป หรือReadBlock()อ่านทีละบล็อก - Encoding: ค่าเริ่มต้น UTF-8 ระบุได้ผ่าน constructor overload