348
Chương 9: File, thư mục, và I/O
ác lớp I/O của Microsoft .NET gồm hai loại chính. Loại thứ nhất truy xuất thông tin
từ hệ thống file và cho phép thực hiện các thao tác trên hệ thống file (như chép file,
chuyển thư mục). Hai lớp tiêu biểu là
FileInfo
và
DirectoryInfo
. Loại thứ hai quan
trọng hơn, gồm rất nhiều lớp cho phép đọc và ghi dữ liệu từ mọi kiểu stream. Stream có thể
tương ứng với một file nhị phân hay văn bản, một file trong không gian lưu trữ riêng, một kết
nối mạng, hoặc một vùng đệm bộ nhớ. Trong mọi trường hợp, cách thức tương tác với stream
đều như nhau. Trong chương này, chúng ta sẽ xem xét các lớp hệ thống file và các lớp dựa-
trên-stream.
C
Các mục trong chương này trình bày các vấn đề sau:
Truy xuất và sửa đổi các thông tin của một file hay một thư mục (các mục 9.1, 9.2, 9.4,
9.5, và 9.16).
Chép, di chuyển, xóa file hay thư mục (mục 9.3).
Hiển thị động một cây thư mục trong một ứng dụng dựa-trên-Windows (mục 9.6) và sử
dụng các hộp thoại file (mục 9.17).
Đọc và ghi file văn bản (mục 9.7) và file nhị phân (mục 9.8), cũng như tạo file tạm
(mục 9.15) và file trong một không gian lưu trữ riêng của người dùng (mục 9.18).
Đọc file một cách bất đồng bộ (mục 9.9).
Tìm file (mục 9.10) và kiểm tra hai file có trùng nhau hay không (mục 9.11).
Làm việc với các chuỗi có chứa thông tin đường dẫn (mục 9.12 đến 9.14).
Theo dõi sự thay đổi của hệ thống file (mục 9.19).
Ghi ra cổng COM (mục 9.20).
1.
1.
Truy xu t các thông tin v file hay th m c
ấ
ề
ư ụ
Truy xu t các thông tin v file hay th m c
ấ
ề
ư ụ
Bạn cần truy xuất các thông tin về một file hay một thư mục, chẳng hạn ngày tạo
hay các thuộc tính của chúng.
Tạo đối tượng
System.IO.FileInfo
cho file hay đối tượng
System.IO.DirectoryInfo
cho thư mục. Sau đó, truyền đường dẫn tới file hay thư
mục đó trong phương thức khởi dựng. Các thông tin cần thiết sẽ được truy xuất
thông qua các thuộc tính của đối tượng.
Để tạo một đối tượng
FileInfo
hay
DirectoryInfo
, bạn cần truyền đường dẫn tương đối hay
đầy đủ trong phương thức khởi dựng của nó. Bạn có thể lấy các thông tin về file hay thư mục
thông qua các thuộc tính của đối tượng tương ứng. Bảng 9.1 liệt kê các thành viên của lớp
FileInfo
và
DirectoryInfo
:
Bảng 9.1 Các thành viên của FileInfo và DirectoryInfo
Thành viên
Thuộc lớp
Mô tả