Ieri abbiamo visto come creare directory attraverso il C#; oggi vediamo come cancellarle.

Per farlo useremo sempre la classe Directory e i suoi metodi statici.

L'operazione è molto semplice usando il metodo Delete:

string path = @"C:\txt_cronos";

Directory.Delete(path);

In questo esempio basilare, però, non abbiamo fatto nessun controllo sull'esistenza della directory, e inoltre la cancellazione verrà bloccata se ci sono file o altre directory all'interno.

La classe Directory del .NET Framework ci offre parecchi metodi (molti statici) utili e veloci per operazioni su directory.

Oggi vediamo come creare facilmente una directory con C#.

Per farlo possiamo usare il metodo CreateDirectory, al quale dobbiamo passare almeno un parametro (il percorso) e che accetta anche un secondo parametro di tipo DirectorySecurity.

Noi gli passeremo solo il primo; ecco un esempio base:

using System;
using System.IO;

namespace TxtCronos
{
    class LocalTxtDir
    {
        private string path = @"C:\txt_cronos\";

        public void createTxtDir()
        {
            Directory.CreateDirectory(path);
        }
    }
}

In questo caso non ho intercettato nessuna eccezione, e non ho fatto neanche un controllo per vedere se la directory già esiste; ma andrebbero fatti entrambi.

Oggi vediamo una piccola clase con una funzione per controllare l'esistenza di un file.

Il file lo cercheremo in più directory tanto per complicare un pò le cose.

Cominciamo con il file .h:

#ifndef CONTROLFILE_H
#define CONTROLFILE_H

#include <QFile>
#include <QStringList>

class ControlFile
{
public:
    ControlFile();
    virtual ~ControlFile();
    bool checkFile(QString file);
};

#endif // CONTROLFILE_H

Per i nostri scopi abbiamo importato i moduli QFile, che rappresenta i file, e QStringList che ci serve per costruire una lista di stringhe.

Quello che faremo oggi è mettere su una piccola classe con una funzione per controllare l'esistenza di un file nel nostro sistema.

Visto che siamo in ambito Python, vedremo come siano sufficienti poche righe!

Partiamo con un esempiobase, per poi controllare l'esistenza del file in più directory; questo perchè, nel mio caso, quello che voglio controllare è se nel mio sistema Linux sia presente un programma, e Linux ha più directory dove mette i binari.

Questo un primo esempio:

from os.path import exists

class YDLControl(object):

    def checkFile(self):
        check = None
        if(exists('file')):
      check = True
    return check

Prima di tutto importiamo la funzione exists, che è quella fa al caso nostro.

Ed eccoci l'ultima operazione su file: la rinomina.

Anche qui prendiamo in considreazione se il file esiste o no.

Vediamo: il codice: