Je veux utiliser des fonctions de classe de chemin ( Exemple de mon chemin: P>
J'ai essayé de faire le travail avec des fonctions code> code> et à la fin, il suffit de remplacer le séparateur. p>
J'ai trouvé que la fonction Comme si vous voyez une barre oblique est perdue. P>
Comment puis-je amener les fonctions de chemin d'accès à utiliser le séparateur "alternatif"? p>
Puis-je utiliser une autre classe avec la même fonctionnalité? P> getdirectoryname code>,
getfilename code>,
combine code>, etc.) avec des chemins au format URL avec slash ( /). P>
"xxx: // serveur / dossier1 / dossier2 / fichier" code> p>
getdirectoryName code> ne remplace pas correctement les barres obliques: p>
chemin.getdirectoryName (@ "xxx: // serveur / dossier / fichier") -> @ "xxx: \ serveur \ dossier" code> p> p>
4 Réponses :
J'ai peur Et puisque le chemin est une classe scellée, je pense que le seul moyen de faire est le remplacement de chaîne. Vous pouvez remplacer getdirectoryname code>,
getfilename code>,
combine code>, etc. utilisez chemin.directoryseparatorchar dans la définition et vous Vous voulez chemin.altdirectoryseparatorchar . p>
chemin.directoryseparatorchar code> ('\') avec
chemin.altDirectorySeparatorCar code> ('/') et
chemin.voluméeparatoratorchal code> (':') avec ": /" p>
Avez-vous envisagé d'utiliser une combinaison de système.uri, système.uribuilder et (si nécessaire) Système personnalisé.uperiparser Sous-classe (ES)? P>
Si l'URI est un fichier de fichier local du formulaire Fichier: // Quel que soit code> alors vous pouvez appeler
Chemin de chaîne = nouveau uri (autre) .Localpath code> et appelez le
chemin code> méthodes sur elle. Si vous ne pouvez pas vous garantir que l'URI concerne un chemin local, vous ne pouvez pas garantir des composants de l'URI correspond à des machines, dossiers, fichiers, extensions, répertoires d'utilisation, caractères de séparateur ou autre chose. P>
pour getdirectoryName () code>, vous pouvez utiliser
pageRoot = uri.Remove(uri.LastIndexOf('/') + 1);