354
Chương 9: File, thư mục, và I/O
}
// Điều kiện dưới đây đúng, vì nó chỉ lọc ra
// thuộc tính read-only.
if ((file.Attributes & FileAttributes.ReadOnly) ==
FileAttributes.ReadOnly) {
Console.WriteLine("File is read-only (correct test).");
}
Console.ReadLine();
}
}
Để hiểu được ví dụ trên, bạn cần biết rằng
Attributes
được tạo thành (ở dạng
nhị phân) bởi một dãy các chữ số 0 và 1, chẳng hạn 00010011. Mỗi chữ số 1 cho
biết một thuộc tính được thiết lập, mỗi chữ số 0 cho biết một thuộc tính không
được thiết lập. Khi bạn sử dụng phép AND, nó sẽ so sánh mỗi chữ số này với mỗi
chữ số tương ứng trong giá trị liệt kê. Ví dụ, nếu bạn AND giá trị 00100001 (mô
tả thuộc tính archive và read-only) với giá trị liệt kê 00000001 (mô tả thuộc tính
read-only), kết quả sẽ là 00000001 (chỉ có được chữ số 1 khi ở cả hai vị trí tương
ứng đều là 1).
Khi thiết lập một thuộc tính, bạn cũng phải sử dụng phép toán trên bit. Trong trường hợp này,
bạn cần cẩn thận để không vô ý xóa các thuộc tính khác.
// Chỉ thêm thuộc tính read-ony.
file.Attributes = file.Attributes | FileAttributes.ReadOnly;
// Chỉ xóa thuộc tính read-only.
file.Attributes = file.Attributes & ~FileAttributes.ReadOnly;
3.
3.
Chép, chuy n, xóa file hay th m c
ể
ư ụ
Chép, chuy n, xóa file hay th m c
ể
ư ụ
Bạn cần chép, chuyển, xóa một file hay thư mục
Tạo đối tượng
System.IO.FileInfo
cho file hay đối tượng
System.IO.DirectoryInfo
cho thư mục, truyền đường dẫn cho phương thức khởi
dựng. Sử dụng các phương thức của đối tượng để chép, chuyển, xóa.
Các lớp
FileInfo
và
DirectoryInfo
cung cấp nhiều phương thức dùng để thao tác trên file và
thư mục. Bảng 9.2 và 9.3 trình bày các phương thức của lớp
FileInfo
và
DirectoryInfo
.
[
Bảng 9.2 Các phương thức dùng để thao tác đối tượng FileInfo
Phương thức
Mô tả