J’ai un dossier dans C:\Name\Folder\
et dans lequel j’ai plusieurs fichiers.
Je dois afficher le chemin d’access complet aux fichiers de ce dossier.
Il doit afficher tous les fichiers au format C:\Name\Folder\file.txt
. Mon code est comme suit;
ssortingng[] filePaths = Directory.GetFiles(@"C:\Name\Folder\"); for (int i = 0; i < filePaths.Length; ++i) { string path = filePaths[i]; Console.WriteLine(System.IO.Path.GetFileName(path)); }
Il n’imprime que le nom du fichier, mais j’en ai également besoin pour imprimer le chemin complet du fichier.
Qu’est-ce qui ne va pas avec simplement l’impression variable de path
?
Btw vous pouvez itérer des fichiers via une déclaration foreach
:
foreach(var path in Directory.GetFiles(@"C:\Name\Folder\")) { Console.WriteLine(path); // full path Console.WriteLine(System.IO.Path.GetFileName(path)); // file name }
Utilisez le suivant,
System.IO.Path.GetFullPath(path);
Directory.GetFiles
renvoie les chemins complets. Vous ne voyez que le nom du fichier parce que vous appelez Path.GetFileName
. Utilisez simplement path
si vous avez besoin du chemin complet.
Si vous avez déjà le chemin dans filePaths, pourquoi avez-vous besoin de l’appel GetFileName?
Quoi qu’il en soit, pour de telles informations, il pourrait être plus facile d’utiliser les classes Directory / FileInfo , qui possèdent toutes les propriétés requirejses (telles que Fullpath)