Đế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).

Chia sẻ: Nguyễn Văn Dũng | Ngày: | Loại File: DOC | Số trang:8

0
67
lượt xem
13
download

Đế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).

Mô tả tài liệu
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

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:

Chủ đề:
Lưu

Nội dung Text: Đế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).

  1. 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 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ập tin cấ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 trong thư 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 trong thư 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ập tin trong các thư mục cấ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ác thư 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
  2. Nguyễn Văn Dũng Lớp CĐTH08A 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 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
  3. 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:
  4. Nguyễn Văn Dũng Lớp CĐTH08A 2. Đếm số lượng tất cả các thư mụ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 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ục cấ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 trong thư 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 trong thư 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ác thư mục cấ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ác thư 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
  5. Nguyễn Văn Dũng Lớp CĐTH08A - 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ị 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
  6. 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ột thư 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).
  7. 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ác tập tin cấ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 trong thư 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ác tập tin có trong thư mục cấ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ác thư 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:
  8. Nguyễn Văn Dũng Lớp CĐTH08A

CÓ THỂ BẠN MUỐN DOWNLOAD

Đồng bộ tài khoản