Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C#

โปรแกรม C# อ่านเนื้อหาไฟล์ทั้งหมดเป็นสตริงครั้งเดียว


ภาพรวม

ใช้ 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

ข้อสังเกต

  • ใช้ using statement ปิดไฟล์อัตโนมัติ (IDisposable)
  • ReadToEnd() โหลดทั้งไฟล์เข้าหน่วยความจำ - ไม่เหมาะกับไฟล์ใหญ่ (หลายร้อย MB ขึ้นไป)
  • ไฟล์ใหญ่: ใช้ ReadLine() ในลูป หรือ ReadBlock() อ่านทีละบล็อก
  • Encoding: ค่าเริ่มต้น UTF-8 ระบุได้ผ่าน constructor overload