2010-01-29 10 views
3

J'essaie d'obtenir la liste des fichiers dans le répertoire "c: \ dir \" (bien sûr, j'ai des fichiers à l'intérieur) et je voulais afficher le nom de ces fichiers dans le programme de la console construire en C# ....comment afficher les fichiers dans le répertoire

d'abord je l'ai fait ....

static class Program 
    { 
     static void Main() 
     { 
      string[] filePaths = Directory.GetFiles(@"c:\dir\"); 
      Console.WriteLine(); 
      Console.Read(); 


     } 
    } 

comment puis-je voir le nom de ces fichiers ....... toute aide serait appréciée .. ...

merci.

(plus loin, je voudrais savoir, si possible, une idée sur l'envoi de ceux chemin du fichier vers la page html dynamique .... tout concept général comment faire ...)

Répondre

4

Si par "nom de fichier" vous voulez dire littéralement les noms et pas les chemins plein:

string[] filePaths = Directory.GetFiles(@"c:\dir"); 
for (int i = 0; i < filePaths.Length; ++i) { 
    string path = filePaths[i]; 
    Console.WriteLine(System.IO.Path.GetFileName(path)); 
} 
+0

en fait puis-je savoir si c'est possible pour moi d'envoyer ces chemin dynamiquement vers le fichier html .... je veux dire le chemin que je vois dans mon application console ... C: \ dir \ a.jpeg ...... ..... C: \ dir \ home.txt etc. – tike

+0

Donc, si vous vouliez afficher un message "Répertoire est vide ..." ou quelque chose comme ça utiliseriez-vous une instruction if/else? Si oui, quels seraient les critères pour être? J'ai essayé "if i == 0" comme mes critères if, mais ça ne fonctionne pas. –

+0

@MattP: On dirait que vous voulez vérifier 'if (filePaths.Length == 0)' (en dehors de la boucle 'for')? –

1

foreach(FileInfo f in Directory.GetFiles()) Console.Writeline(f.Name)

3
foreach (string filename in filePaths) { 
    Console.WriteLine(filename); 
} 
4

boucle à travers les fichiers et les imprimer une à la fois:

foreach(string folder in Directory.GetDirectories(@"C:\dir")) 
{ 
    Console.WriteLine(folder); 
} 

foreach(string file in Directory.GetFiles(@"C:\dir")) 
{ 
    Console.WriteLine(file); 
} 
+0

mais doesnot me montre le dossier noms par exemple j'ai 5 dossier et 1 .jpeg il affiche seulement .jpeg. – tike

+0

Utilisez Directory.GetDirectories pour imprimer tous les dossiers également. J'ai édité le post pour le montrer. – Aaron

+0

GetFiles retourne un tableau de type FileInfo, il doit être foreach (FileInfo fi dans Directory.GetFiles (@ "C: \ Dir")) {Console.WriteLine (file.Name);} – kd7

Questions connexes