CÁC GIẢI PHÁP LẬP TRÌNH C# - Trang 373

373

Chương 9: File, thư mục, và I/O

Console.ReadLine();

}

}

Các mã băm được so sánh bằng cách chuyển chúng thành chuỗi. Bạn cũng có thể duyệt qua
mảng và so sánh từng byte. Cách này nhanh hơn một ít, nhưng việc chuyển 20 byte thành
chuỗi không tốn nhiều chi phí nên không cần thiết.

12.

12.

Thao tác trên đ

ng d n file

ườ

Thao tác trên đ

ng d n file

ườ

Bạn cần lấy một phần đường dẫn file hoặc kiểm tra một đường dẫn file có ở
dạng chuẩn hay không.

Xử lý đường dẫn bằng lớp

System.IO.Path

. Bạn có thể sử dụng

Path.GetFileName

để lấy tên file từ đường dẫn,

Path.ChangeExtension

để thay đổi phần mở rộng của

đường dẫn, và

Path.Combine

để tạo đường dẫn đầy đủ mà không cần quan tâm

thư mục của bạn đã có ký tự phân cách thư mục(\) hay chưa.

Thường khó thao tác với các đường dẫn file vì có vô số cách để mô tả một thư mục. Ví dụ,
bạn có thể sử dụng đường dẫn tuyệt đối (C:\Temp), đường dẫn UNC
(\\MyServer\\MyShare\Temp), hoặc một trong các đường dẫn tương đối (C:\Temp\MyFiles\..\
hay C:\Temp\MyFiles\..\..\Temp).
Cách dễ nhất để xử lý các đường dẫn file là sử dụng các phương thức tĩnh của lớp

Path

để bảo

đảm có thông tin đúng. Ví dụ, đoạn mã sau trích tên file từ một đường dẫn file:

string filename = @"..\System\MyFile.txt";

filename = Path.GetFileName(filename);

// filename bây giờ là "MyFile.txt".

Và đoạn mã sau sử dụng

Path.Combine

để thêm tên file vào đường dẫn thư mục:

string filename = @"..\..\myfile.txt";

string fullPath = @"c:\Temp";

filename = Path.GetFileName(filename);

fullPath = Path.Combine(fullPath, filename);

// fullPath bây giờ là "c:\Temp\myfile.txt".

Cách này có ưu điểm là ký tự phân cách thư mục (\) sẽ tự động được thêm vào đường dẫn nếu
cần thiết.
Lớp

Path

cũng cung cấp các phương thức hữu ích sau đây để thao tác trên thông tin đường

dẫn:

ChangeExtension

—thay đổi phần mở rộng của file. Nếu phần mở rộng mới không được

chỉ định, phần mở rộng hiện tại sẽ bị xóa.

Liên Kết Chia Sẽ

** Đây là liên kết chia sẻ bới cộng đồng người dùng, chúng tôi không chịu trách nhiệm gì về nội dung của các thông tin này. Nếu có liên kết nào không phù hợp xin hãy báo cho admin.