Per un programmino che sto facendo in C#, ho la necessità di indentificare tutti i files con una certa estensione in una determinata directory (file doc e docx per la precisione).

Per ottenere questa lista, abbiamo diverse possiblità, sempre usando DirectoryInfo e FileInfo.

Una prima possibilità è usare il metodo GetFiles, che restituisce un array di FileInfo.

Però non mi piace un granchè, perchè lo trovo poco flessibile nel caso di più estensioni (soprattutto quando non simili come nel mio caso).

SFTP è l'implementazione sicura del protocollo FTP; in pratica usa SSH come canale di comunicazione.

Oggi vediamo come connetterci, e fare l'upload di file, su un server SFTP tramite C#.

Di default non sono previste classi e oggetti preposti a questa operazione; dobbiamo rivolgerci quindi ad una libreria esterna.

Io ho usato questa: SharpSSH.

Scaricatela e aggiungetela al progetto.

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).

L'oggetto SplFileInfo fa parte della cosiddetta Standard PHP Library (SPL).

La sto scoprendo in questi giorni, vista anche la maggiore importanza che ha dalla versione 5.3 del linguaggio.

Infatti dalla versione 5.3 è diventata parte integrante di PHP e non può essere disinstallata o disattivata.

Oggi vediamo come leggere un file utilizzando due oggetti: SplFileInfo e SplFileObject.