Khi phát triển ứng dụng trong C#, một trong những nhiệm vụ phổ biến mà các lập trình viên thường gặp là làm việc với các tệp tin để đọc và ghi dữ liệu. Việc này không chỉ đơn giản là thao tác với dữ liệu mà còn liên quan đến nhiều khía cạnh khác như xử lý lỗi, bảo mật và hiệu suất. Bài viết này sẽ hướng dẫn bạn chi tiết cách thực hiện các thao tác này.
Đọc dữ liệu từ tệp tin
Sử dụng lớp StreamReader
StreamReader
là một lớp trong C# giúp đọc dữ liệu từ các tệp văn bản một cách dễ dàng và hiệu quả. Để sử dụng lớp này, đầu tiên bạn cần import không gian tên System.IO
.
using System.IO;
string filePath = "path/to/your/file.txt";
using (StreamReader reader = new StreamReader(filePath))
{
string content = reader.ReadToEnd();
Console.WriteLine(content);
}
Trong ví dụ trên, StreamReader
đọc toàn bộ nội dung của tệp và hiển thị nó trên màn hình console.
Đọc từng dòng với StreamReader
Để đọc từng dòng một, bạn có thể sử dụng phương thức ReadLine()
.
using System.IO;
string filePath = "path/to/your/file.txt";
using (StreamReader reader = new StreamReader(filePath))
{
string line;
while ((line = reader.ReadLine()) != null)
{
Console.WriteLine(line);
}
}
Ghi dữ liệu vào tệp tin
Sử dụng lớp StreamWriter
StreamWriter
là lớp thường xuyên được sử dụng để ghi dữ liệu vào các tệp văn bản. Dưới đây là ví dụ ghi một chuỗi ký tự vào một tệp tin.
using System.IO;
string filePath = "path/to/your/file.txt";
using (StreamWriter writer = new StreamWriter(filePath))
{
writer.WriteLine("Hello, world!");
writer.WriteLine("This is a new line of text.");
}
Thêm dữ liệu mà không ghi đè
Nếu bạn muốn thêm dữ liệu vào một tệp mà không ghi đè dữ liệu hiện có, bạn cần sử dụng đối số true
trong hàm khởi tạo của StreamWriter
.
using System.IO;
string filePath = "path/to/your/file.txt";
using (StreamWriter writer = new StreamWriter(filePath, true))
{
writer.WriteLine("Appending this line to the file.");
}
Xử lý lỗi
Khi làm việc với tệp tin, có nhiều loại lỗi có thể xảy ra như tệp tin không tồn tại, quyền truy cập bị từ chối hay hệ thống tập tin bị lỗi. Để đảm bảo ứng dụng của bạn hoạt động trơn tru, bạn cần xử lý các ngoại lệ này.
using System;
using System.IO;
try
{
string filePath = "path/to/your/file.txt";
using (StreamReader reader = new StreamReader(filePath))
{
string content = reader.ReadToEnd();
Console.WriteLine(content);
}
}
catch (FileNotFoundException ex)
{
Console.WriteLine($"Error: File not found. Details: {ex.Message}");
}
catch (UnauthorizedAccessException ex)
{
Console.WriteLine($"Error: Access denied. Details: {ex.Message}");
}
catch (Exception ex)
{
Console.WriteLine($"An unexpected error occurred: {ex.Message}");
}
Kết luận
Làm việc với tệp tin trong C# là một kỹ năng quan trọng và cần thiết cho mọi lập trình viên. Việc hiểu và sử dụng thành thạo các lớp như StreamReader
và StreamWriter
sẽ giúp bạn dễ dàng thao tác với dữ liệu, từ đó tạo ra những ứng dụng mạnh mẽ và hiệu quả hơn. Hãy luôn nhớ xử lý lỗi cẩn thận để đảm bảo ứng dụng của bạn luôn hoạt động ổn định.
Comments