Home / Programmazione / C# - Asp.NET / Listare file con C#
Mattepuffo

Listare file con C#

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.