2011-11-11 27 views
6

Cách lấy tên tệp chuẩn theo định dạng không chính tắc.C# Tên tệp Canonical

Ví dụ: Tôi muốn gọi chức năng mà chuyển đổi "C:\Program files\..\Windows\aaa.txt" để "C:\Windows\aaa.txt"

Tôi đang tìm kiếm một cái gì đó như Java File.getCanonicalPath()

+0

được [này] (http://msdn.microsoft.com/en-us/library/system.io.path.getfullpath.aspx) những gì bạn đang tìm kiếm? – Reniuz

Trả lời

13

Bạn có thể sử dụng phương pháp Path.GetFullPath cho việc này.

Ví dụ:

Console.WriteLine(Path.GetFullPath(@"C:\Program files\..\Windows\aaa.txt")); 

Output:

C: \ Windows \ aaa.txt

+0

Tệp không có phương thức GetFullPath (ví dụ là chính xác) –

+0

@Goran: Cảm ơn. Là một lỗi đánh máy, mà tôi đã sửa chữa. Thật buồn cười vì tôi liên kết với MSDN một cách chính xác và gõ nó đúng cách trong ví dụ. :) – Ani

+0

Vâng, tôi thấy điều đó, vì vậy sẽ rất tệ khi những điều như vậy phá hỏng câu trả lời tuyệt vời khác :) –

3
System.IO.Path.GetFullPath("C:/Program files/../Windows/aaa.txt") 

sẽ trở lại

"C:\\Windows\\aaa.txt" 
1

Dưới đây là gợi ý của tôi:

string path = Path.GetFullPath(@"C:\Program files\..\Windows\aaa.txt"); 
Các vấn đề liên quan