374
Chương 9: File, thư mục, và I/O
•
GetDirectoryName
—trả về thông tin của các thư mục nằm giữa ký tự phân cách thư mục
(\) đầu và cuối.
•
GetFileNameWithoutExtension
—tương tự như
GetFileName
, nhưng bỏ phần mở rộng.
•
GetFullPath
—không có tác dụng đối với đường dẫn tuyệt đối, và nó sử dụng thư mục
hiện hành để đổi một đường dẫn tương đối thành đường dẫn tuyệt đối. Ví dụ, nếu
C:\Temp\ là thư mục hiện hành, gọi
GetFullPath
cho file test.txt sẽ trả về C:\Temp\
test.txt.
•
GetPathRoot
—trả về chuỗi chứa thư mục gốc (ví dụ, "C:\"). Đối với đường dẫn tương
đối, nó trả về tham chiếu rỗng.
•
HasExtension
—trả về
true
nếu đường dẫn kết thúc với phần mở rộng.
•
IsPathRooted
—trả về
true
nếu đường dẫn là tuyệt đối,
false
nếu đường dẫn là tương
đối.
Trong hầu hết trường hợp, một ngoại lệ sẽ bị ném nếu bạn truyền đường dẫn
không hợp lệ cho một trong các phương thức này (chẳng hạn, đường dẫn có
chứa các ký tự không hợp lệ). Tuy nhiên, những đường dẫn không hợp lệ do
chứa các ký tự wildcard sẽ không làm sinh ra ngoại lệ.
13.
13.
Xác đ nh đ
ng d n t
ng ng v i m t file hay th m c
ị
ườ
ẫ ươ ứ
ớ ộ
ư ụ
Xác đ nh đ
ng d n t
ng ng v i m t file hay th m c
ị
ườ
ẫ ươ ứ
ớ ộ
ư ụ
Bạn có một đường dẫn (ở dạng chuỗi), và cần xác định nó tương ứng với một thư
mục hay một file.
Kiểm tra đường dẫn với phương thức
Directory.Exists
và
File.Exists
.
Cả hai lớp
System.IO.Directory
và
System.IO.File
đều có phương thức
Exists
.
•
Directory.Exists
—trả về
true
nếu đường dẫn (tương đối hoặc tuyệt đối) tương ứng
với một thư mục đang tồn tại.
•
File.Exists
—trả về
true
nếu đường dẫn tương ứng với một file đang tồn tại.
Sử dụng hai phương thức này, bạn có thể nhanh chóng xác định một đường dẫn có tương ứng
với một file hay thư mục hay không, như ví dụ sau:
using System;
using System.IO;
public class FileOrPath {
private static void Main(string[] args) {
foreach (string arg in args) {