Nguyễn Văn Dũng Lớp CĐTH08A 1. Đếmtấtcảcáctậptintrongmộtthưmục(khôngchỉgiớihạnởtậptincấp1). Tạo Một hàm mang tên “DemTapTin(string path)” trả về giá trị int gồm các thao tác sau: Bước 1 : tạo một biến có tên iSoLuong có kiểu int và được gán giá trị bằng 0. Bước 2 : Kiểm tra thưmục đó có tồn tại hay không bằng phương thức “Exists()” của Class “Directory”. Ví dụ: Directory.Exists(“d:\programe”); Nếu “false” (thư mục không tồn tại): - xuất ra dòng chữ “Thư mục không tồn tại” - kết thúc quá trình đếm số lượng tập tin. Nếu “true” (thư mục này tồn tại): chuyển sang bước 3: Bước 3:đếm số lượng tậptincấp 1. - tạo một biến có tên iSoLuong có kiểu int và được gán giá trị bằng 0. - Sử dụng phương thức GetFiles của class “Directory” để trả về một mảng chuổi đường dẫn của những file nằm trongthưmục đó. Ví Dụ: string[] arstrFile = Directory.GetFiles(“d:\programe”); sau đó dùng thuộc tính Length của mảng arstrFile để đếm số lượng file trongthưmục đó và gán vào giá trị iSoLuong (iSoLuong = arstrFile.Length;). Ta cũng có thể dùng trực như sau: iSoLuong = Directory.GetFiles(“d:\programe”).Length; Bước 4: sử dụng phương pháp đệ quy để đếm số lượng tậptintrongcácthưmụccấp 1. - Sử dụng phương thức GetDirectories để trả về một mảng chuổi chứa các đường dẫn của cácthưmục con của thưmục truyền vào. Ví dụ : string[] arstrMangThuMuc = Directory.GetDirectories(‘d:\programe’) ; - Sử dụng vòng lặp foreach để chạy từng phần tử của arstrMangThuMuc Sau đó sử dụng phương pháp đệ quy (gọi lại phương thức “DemTapTin(string path)” và truyền vào trong hàm này giá trị của từng phần tử trong mảng arstrMangThuMuc giá trị trả về của hàm này ta truyền vào iSoLuong Bước 5 : trả về giá trị iSoLuong. Nguyễn Văn Dũng Lớp CĐTH08A Chi tiết Phương thức DemTapTin(string path) Đoạn Test Phương thức DemTapTin(string path) Chạy chương trình ta được như sau: Nhập vào đường dẫn là : d:\programe Nguyễn Văn Dũng Lớp CĐTH08A Click phải vào thưmục D:\programe chọn “Properties” ta được như sau: Nguyễn Văn Dũng Lớp CĐTH08A 2. Đếm số lượng tấtcảcácthưmụctrong 1 thưmục ( không chỉgiớihạnởthưmụccấp 1) Tương tự như đếmcáctậptintrongthư mục. Ta thực hiện như sau: Tạo Một hàm mang tên “DemThuMucCua(string path)” trả về giá trị int gồm các thao tác sau: Bước 1 : tạo một biến có tên iSoLuong có kiểu int và được gán giá trị bằng 0. Bước 2 : Kiểm tra thưmục đó có tồn tại hay không bằng phương thức “Exists()” của Class “Directory”. Ví dụ: Directory.Exists(“d:\programe”); Nếu “false” (thư mục không tồn tại): - xuất ra dòng chữ “Thư mục không tồn tại” - kết thúc quá trình đếm số lượng thưmục con. Nếu “true” (thư mục này tồn tại): chuyển sang bước 3 Bước 3: đếm số lượng thưmụccấp 1. - Sử dụng phương thức GetDirectories của class “Directory” để trả về một mảng chuổi đường dẫn của những file nằm trongthưmục đó. Ví Dụ: string[] arstrDir = Directory. GetDirectories (“d:\programe”); sau đó dùng thuộc tính Length của mảng arstrDir để đếm số lượng thưmục con trongthưmục đó và gán vào giá trị iSoLuong (iSoLuong = arstrDir.Length;). Ta cũng có thể dùng trực như sau: iSoLuong = Directory.GetDirectories(“d:\programe”).Length; Bước 4: sử dụng phương pháp đệ quy để đếm số thưmục con của cácthưmụccấp 1. - Tiếp tục sử dụng phương thức GetDirectories để trả về một mảng chuổi chứa các đường dẫn của cácthưmục con của thưmục truyền vào. Ví dụ : string[] arstrMangThuMuc = Directory.GetDirectories(‘d:\programe’) ; - Sử dụng vòng lặp foreach để chạy từng phần tử của arstrMangThuMuc - Sau đó sử dụng phương pháp đệ quy (gọi lại phương thức “DemThuMucCua(string path)” và truyền vào trong hàm này giá trị Nguyễn Văn Dũng Lớp CĐTH08A của từng phần tử trong mảng arstrMangThuMuc giá trị trả về của hàm này ta truyền vào iSoLuong Bước 5 : trả về giá trị iSoLuong Chi tiết của phương thức DemThuMucCua(string path). Đoạn test. Chạy chương trình ta được như sau: Nhập vào đường dẫn là: d:\programe Nguyễn Văn Dũng Lớp CĐTH08A Click phải vào thưmục D:\programe chọn “Properties”ta được như sau: 3. Tính kích thước của 1 thưmục bất kì. Để tính được kích thước của mộtthưmục ta xây dựng một phương thức trả về giá trị long với tên tùy ý, ở đây ta lấy tên phương thức là:KichThuocCua(string path). Nguyễn Văn Dũng Lớp CĐTH08A Lưu Ý: kích thước trả về với đơn vị là Byte Bước 1: khai báo một biến kiểu long biến này lưa trữ giá trị kích thước của thưmục truyền vào. Ví dụ: long lKichThuoc = 0; Bước 2: kiểm tra xem đường dẫn path truyền vào có tồn tại hay không. - nếu “false”: thông báo thưmục không tồn tại. kết thúc quá trình tính kích thước của thư mục. - nếu “true” (thư mục tồn tại). chuyển sang bước 3 Bước 3: tính tổng kích thước của cáctậptincấp 1. - khai báo một tham số có giá trị là DirectoryInfo để lưu trữ thông tin của thư mục. ví dụ DirectoryInfo dirinfo = new DirectoryInfo(path); - sử dụng phương thức GetFiles của dirinfo để trả về một mảng các FileInfo (lưu trữ thông tin của File). Dùng vòng lặp foreach để chạy từng FileInfo trongthư mục.ví dụ: foreach(FileInfo var in dirinfo.GetFiles). Sau đó sử dụng thuộc tính Length của var để trả về kích thước(đơn vị là “Byte”) của File rồi cộng dồn cho lKichThuoc.(lKichThuoc += var.Length;) Bước 4: sử dụng phương pháp đệ quy để tổng tính kích thước của cáctậptin có trongthưmụccấp 1. - Sử dụng phương thức GetDirectories của class Directory để trả về một mảng chuổi chứa các đường dẫn của cácthưmục con của thưmục truyền vào. Ví dụ : string[] arstrMangThuMuc = Directory.GetDirectories(‘d:\programe’) ; - Sử dụng vòng lặp foreach để chạy từng phần tử của arstrMangThuMuc - Sau đó sử dụng phương pháp đệ quy (gọi lại phương thức “KichThuocCua(string path)” và truyền vào trong phương thứcnày giá trị của từng phần tử trong mảng arstrMangThuMuc giá trị trả về của hàm này ta truyền vào lKichThuoc. Bước 5: trả về giá trị lKichThuoc Chi tiết: Nguyễn Văn Dũng Lớp CĐTH08A . 1. Đếm tất cả các tập tin trong một thư mục (không chỉ giới hạn ở tập tin cấp 1). Tạo Một hàm mang tên “DemTapTin(string path)” trả về giá trị int gồm các. trong 1 thư mục ( không chỉ giới hạn ở thư mục cấp 1) Tương tự như đếm các tập tin trong thư mục. Ta thực hiện như sau: Tạo Một hàm mang tên “DemThuMucCua(string