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.