Đọc một tệp văn bản

C#:
Đọc một tệp văn bản

Cách thực hiện:

Hãy đi thẳng vào vấn đề. Dưới đây là cách bạn đọc từ một tệp trong C# sử dụng System.IO.

using System;
using System.IO;

class Program
{
    static void Main()
    {
        string filePath = @"C:\path\to\your\file.txt";
        
        // Đọc toàn bộ văn bản
        string allText = File.ReadAllText(filePath);
        Console.WriteLine(allText);
        
        // Đọc các dòng vào một mảng
        string[] lines = File.ReadAllLines(filePath);
        foreach (var line in lines)
        {
            Console.WriteLine(line);
        }
        
        // Đọc với StreamReader
        using (StreamReader reader = new StreamReader(filePath))
        {
            string line;
            while ((line = reader.ReadLine()) != null)
            {
                Console.WriteLine(line);
            }
        }
    }
}

Kết quả mẫu:

Xin chào, đây là một tệp văn bản.
Nó có nhiều dòng.
Mỗi dòng sẽ được đọc riêng biệt.

Tìm hiểu sâu hơn

Đọc một tệp văn bản dường như đơn giản, đúng không? Nhưng có một chút lịch sử và một số điều tinh tế đáng biết.

Ngày xưa, tệp văn bản thường là cách chính để lưu trữ dữ liệu trước khi cơ sở dữ liệu được sử dụng phổ biến. Lập trình viên phải quản lý truy cập tệp, định dạng dữ liệu một cách chính xác và xử lý lỗi. C# đã phát triển rất nhiều kể từ đó. Bây giờ, System.IO là không gian tên ưu tiên của bạn cho các thao tác tệp.

Bạn có các lựa chọn:

  • File.ReadAllText đọc toàn bộ một lần—tuyệt vời cho các tệp nhỏ.
  • File.ReadAllLines cho bạn mỗi dòng như một phần tử của mảng—tiện lợi cho việc xử lý dòng.
  • StreamReader đọc từng dòng một, hiệu quả hơn về bộ nhớ cho các tệp lớn.

Mỗi phương pháp sẽ khóa tệp khi nó đang được sử dụng. Điều này quan trọng nếu các quá trình khác có thể đang cố gắng truy cập tệp.

Nhớ là luôn xử lý các ngoại lệ như FileNotFoundException hoặc IOException khi làm việc với tệp. Bạn không muốn ứng dụng của mình bất ngờ gặp sự cố.

Xem thêm

Có thêm câu hỏi hoặc muốn mở rộng kiến thức của bạn? Hãy xem các liên kết sau: