Listare file con C#
Oggi vediamo come creare una lista di file inclusi in una data directory.
Vedremo due modi per farlo, usando oggetti differenti.
In un primo esempio useremo Directory e il suo metodo statico GetFiles:
public string[] listLocalFiles()
{
string[] files = Directory.GetFiles(@"C:\my_dir");
return files;
}
Il metodo ritorna una array di string e vuole come minimo un parametro, che è la directory; gli si può passare anche un secondo parametro specificando l'estensione dei file da ricercare, e un terzo se si vogliono includere anche le sub directory.
Ad esempio:
public string[] listLocalFiles()
{
string[] files = Directory.GetFiles(@"C:\my_dir", "*.txt", SearchOption.AllDirectories);
return files;
}
Directory ha però dei limiti, superati se usiamo DirectoryInfo (e poi GetFiles).
Ecco qua un esempio:
public FileInfo[] listLocalFiles()
{
DirectoryInfo di = new DirectoryInfo(@"C:\my_dir");
FileInfo[] fi = di.GetFiles();
return fi;
}
In questo caso il nostro metodo ritorna un array di FileInfo.
FileInfo ci permette di accedere a tutta una serie di attributi che in molti casi possono essere comodi.
Per GetFiles valgono le stesse considerazioni fatte sopra.
Provate entrambi i metodi e studiate le differenze per vedere come vi viene restituita la lista in entrambi i casi.
In generale io preferisco il secondo metodo.
c# c# directory directoryinfo fileinfo ge
Commentami!