Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C#

Các lớp I/O trong C# (Namespace System.IO)

Namespace System.IO cung cấp các lớp để thực hiện thao tác nhập/xuất (I/O) với tệp tin, thư mục, luồng dữ liệu (streams). Dưới đây là danh sách các lớp chính và mục đích sử dụng:

Lớp Mô tả
BinaryReader Đọc kiểu dữ liệu nguyên thủy (primitive types) từ luồng nhị phân (binary stream).
BinaryWriter Ghi kiểu dữ liệu nguyên thủy vào luồng nhị phân.
BufferedStream Bộ đệm tạm thời cho luồng byte, cải thiện hiệu suất đọc/ghi.
Directory Cung cấp phương thức tĩnh để thao tác với cấu trúc thư mục (tạo, xóa, di chuyển, liệt kê).
DirectoryInfo Lớp instance cung cấp thông tin và thao tác trên một thư mục cụ thể.
DriveInfo Cung cấp thông tin ổ đĩa (tên, định dạng, dung lượng trống, tổng dung lượng...).
File Cung cấp phương thức tĩnh để thao tác tệp tin (tạo, sao chép, xóa, di chuyển, kiểm tra tồn tại).
FileInfo Lớp instance cung cấp thông tin và thao tác trên một tệp tin cụ thể.
FileStream Luồng (stream) đọc/ghi byte tại vị trí bất kỳ trong tệp tin, hỗ trợ truy xuất ngẫu nhiên.
MemoryStream Luồng dữ liệu lưu trữ trong bộ nhớ (RAM), truy xuất ngẫu nhiên, tốc độ cao.
Path Cung cấp phương thức tĩnh xử lý đường dẫn (kết hợp, tách phần mở rộng, lấy tên tệp...).
StreamReader Đọc ký tự từ luồng byte (với encoding cụ thể), thường dùng đọc file text.
StreamWriter Ghi ký tự vào luồng byte, thường dùng ghi file text.
StringReader Đọc dữ liệu từ chuỗi (string buffer) như thể là một luồng.
StringWriter Ghi dữ liệu vào chuỗi (string buffer) như thể là một luồng.

Phân loại chính

  • Tệp tin/Thư mục: File, FileInfo, Directory, DirectoryInfo, DriveInfo, Path.
  • Luồng byte (Byte streams): FileStream, MemoryStream, BufferedStream.
  • Luồng ký tự (Text streams): StreamReader, StreamWriter, StringReader, StringWriter.
  • Luồng nhị phân (Binary streams): BinaryReader, BinaryWriter.

Mẹo: Luôn dùng using hoặc try/finally để đảm bảo giải phóng tài nguyên (Close/Dispose) khi làm việc với các lớp I/O.