2011-11-11 17 views
6

Come ottenere il nome del file canonico da quello non canonico.C# Nome file canonico

E.g. Voglio chiamare la funzione che converte "C:\Program files\..\Windows\aaa.txt" a "C:\Windows\aaa.txt"

Sto cercando qualcosa di simile a Java File.getCanonicalPath()

+0

è [questo] (http://msdn.microsoft.com/en-us/library/system.io.path.getfullpath.aspx) quello che stai cercando? – Reniuz

risposta

13

È possibile utilizzare il metodo Path.GetFullPath per questo.

Esempio:

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

uscita:

C: \ Windows \ aaa.txt

+0

Il file non ha il metodo GetFullPath (l'esempio è corretto) –

+0

@Goran: Grazie. È stato un errore di battitura, che ho corretto. È divertente perché mi sono collegato a MSDN correttamente e l'ho digitato correttamente anche nell'esempio. :) – Ani

+0

Sì, l'ho visto, quindi sarebbe brutto che una cosa del genere rovini altrimenti ottima risposta :) –

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

tornerà

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

Ecco la mia proposta:

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