2011-11-11 17 views
6

Jak uzyskać nazwę kanoniczną przez niekanoniczną.C# Nazwy plików Canonical

E.g. Chcę funkcję, która przekształca "C:\Program files\..\Windows\aaa.txt" do "C:\Windows\aaa.txt"

szukam czegoś takiego jak Java File.getCanonicalPath()

+0

jest [to] (http://msdn.microsoft.com/en-us/library/system.io.path.getfullpath.aspx), czego szukasz? – Reniuz

Odpowiedz

13

Można użyć metody Path.GetFullPath tego nazwać.

przykład:

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

wyjściowa:

C: \ Windows \ aaa.txt

+0

Plik nie ma metody GetFullPath (przykład jest poprawny) –

+0

@Goran: Dzięki. Był literówka, którą poprawiłem. To zabawne, ponieważ poprawnie podłączyłem się do MSDN i napisałem to poprawnie również w tym przykładzie. :) – Ani

+0

Tak, widziałem to, więc byłoby źle, że takie rzeczy psują, inaczej wspaniała odpowiedź :) –

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

powróci

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

Oto moja propozycja:

string path = Path.GetFullPath(@"C:\Program files\..\Windows\aaa.txt");