Lập trình trên môi trường Windows
System.IO
Trần Duy Hoàng
Nội dung
Quản lý tập tin
Đọc ghi tập tin
Nén tập tin
Quản lý tập tin
Nhu cầu:
●
Làm sao biết được trên hệ thống có những ổ đĩa nào ?
●
Làm sao lấy được danh sách tập tin và thư mục con của
một thư mục nào đó ?
●
Làm sao truy xuất được các thuộc tính của một tập tin,
thư mục ?
●
Làm sao giám sát được sự thay đổi của một tập tin, thư
mục ?
Quản lý tập tin
Các lớp hỗ trợ
●
DriveInfo class
●
DirectoryInfo class
●
FileInfo class
●
Path class
●
FileSystemWatcher class
●
File class
●
Directory class
Quản lý tập tin
DriveInfo class
●
Thuộc tính
Quản lý tập tin
DriveInfo class
●
DriveType enum
Quản lý tập tin
DriveInfo class
●
Danh sách các ổ đĩa trên hệ thống ?
DriveInfo[] drives = DriveInfo.GetDrives();
foreach (DriveInfo drive in drives)
{
Console.WriteLine("Drive: {0}", drive.Name);
Console.WriteLine("Type: {0}",
drive.DriveType);
}
Quản lý tập tin
DriveInfo class
●
DriveType enum
●
Phương thức
Quản lý tập tin
DirectoryInfo class
●
Thuộc tính
Quản lý tập tin
DirectoryInfo class
●
Phương thức
Quản lý tập tin
DirectoryInfo class
●
Danh sách thư mục
DirectoryInfo dir = new DirectoryInfo(@"c:\windows");
Console.WriteLine("Directory: {0}", dir.FullName);
DirectoryInfo[] dirs = dir.GetDirectories();
foreach (DirectoryInfo subDir in dirs)
{
Console.WriteLine("Dir : {0}", subDir.Name);
}
Quản lý tập tin
FileInfo class
●
Thuộc tính
Quản lý tập tin
FileInfo class
●
Phương thức
Quản lý tập tin
FileInfo class
●
Danh sách tập tin ?
DirectoryInfo dir = new DirectoryInfo(@"c:\windows");
Console.WriteLine("Directory: {0}", dir.FullName);
foreach (FileInfo file in dir.GetFiles())
{
Console.WriteLine("File : {0}", file.Name);
}
Quản lý tập tin
FileSystemInfo class
●
Thuộc tính
Quản lý tập tin
FileSystemInfo class
●
Phương thức
Quản lý tập tin
FileSystemInfo class
●
Danh sách tập tin, thư mục ?
DirectoryInfo dir = new DirectoryInfo(@"c:\windows");
Console.WriteLine("Directory: {0}", dir.FullName);
foreach (FileSystemInfo sysFile in dir.GetFileSystemInfos())
{
if (sysFile.Attributes == FileAttributes.Directory)
Console.WriteLine("Dir : {0}", sysFile.Name);
else
Console.WriteLine("File : {0}", sysFile.Name);
}
Quản lý tập tin
Path class
●
Thuộc tính
Quản lý tập tin
Path class
●
Phương thức
Quản lý tập tin
FileSystemWatcher class
●
Thuộc tính
Quản lý tập tin
FileSystemWatcher class
●
Phương thức
●
Sự kiện
Quản lý tập tin
FileSystemWatcher class
●
Giám sát sự thay đổi tập tin, thư mục
FileSystemWatcher watcher = new FileSystemWatcher();
watcher.Path = @"c:\";
watcher.Renamed += new
RenamedEventHandler(watcher_Renamed);
watcher.EnableRaisingEvents = true;
static void watcher_Renamed(object sender,
RenamedEventArgs e) {
MessageBox.Show("Renamed from {0} to {1}", e.OldFullPath,
e.FullPath); }
Quản lý tập tin
File class
●
Cung cấp tất cả các phương thức cần thiết cho việc tạo
file, xóa file, di chuyển file, sao chép file…
Quản lý tập tin
Directory class
●
Cung cấp tất cả các phương thức cần thiết cho việc tạo
thư mục, xóa thư mục, di chuyển thư mục, lấy danh sách
tập tin, thư mục con…