1. Trang chủ
  2. » Công Nghệ Thông Tin

Tài liệu Đế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). doc

8 772 1
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Đế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ác giả Nguyễn Văn Dũng
Trường học Trường Cao Đẳng Công Nghệ Thông Tin
Chuyên ngành Công Nghệ Thông Tin
Thể loại bài tập
Thành phố Hồ Chí Minh
Định dạng
Số trang 8
Dung lượng 443 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

- 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 đó.. - Sử dụng phương thức GetDirectories để trả về một mảng chu

Trang 1

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 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.

Trang 2

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

Trang 3

Click phải vào thư mục D:\programe chọn “Properties” ta được như sau:

Trang 4

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

- 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ị

Trang 5

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

Trang 6

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

Trang 7

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:

Ngày đăng: 13/12/2013, 13:15

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w