Comment peut-on obtenir un absolu ou un fichier normalisé chemin dans .NET?
Comment peut-on avec un minimum d'effort (en utilisant une partie déjà existante installation, si possible) de convertir les chemins comme c:\aaa\bbb\..\ccc
à c:\aaa\ccc
?
Vous devez vous connecter pour publier un commentaire.
Path.GetFullPath
peut-être?Je voudrais écrire comme ceci:
Ce doit gérer quelques scénarios comme
uri et le potentiel des caractères d'échappement, comme les
les segments du chemin spécifié par des points pour désigner actuel ou répertoire parent
tilde raccourcie (long) les chemins
incompatible répertoire caractère délimiteur
Autres, il peut ignorer les cas, de fuite
\
répertoire caractère délimiteur etc.NormalizePath
pour copier ou déplacer un fichier quelque part, elle/il a le plus probablement s'attend à ce que le boîtier de ne pas changer. En tant qu'utilisateur, je voudrais interdire un tel programme qui change mon soin househeld des systèmes de dénomination.De mise en forme canonique est l'une des principales responsabilités de la Uri classe .NET.
Uri
classe est uniquement responsable de la génération de chemins. Le système de contre qui ces chemins sont pertinentes n'est pas pris en compte. Une fois que vous obtenez le chemin d'accès via la méthode dans ma réponse, vous auriez encore besoin de vérifier qu'il existe via leFile
classe (ou autre).