top of page

Aero - pagina codici (2)


SEMPLICI OPERAZIONI CON FILES DI TESTO E CARTELLE

 

Ecco di seguito alcuni pezzi di codice utili per svariate funzioni di manipolazione files e cartelle.

 

1) Verificare se un file esiste, altrimenti crearlo

Questo codice verifica se un file di cui si specifica il nome esiste, e se non esiste lo crea:

 

Dim path As String = "C:\percorso cartelle\nomefile.estensione"

Dim sw As StreamWriter

If Not File.Exists(path) Then

sw = File.CreateText(path)

End If

 

Possiamo anche comporre il nome del file usando il contenuto di una textbox o di una listbox (es, l' elemento selezionato in una listbox) cambiando la definizione di path in queste due maniere:

 

Dim path As String = "C:\percorso cartelle\" & textbox1.text

 

Dim path As String = "C:\percorso cartelle\" & listbox1.selecteditem

 

Se vogliamo fare in modo che nel file dopo creato venga scritta una stringa, aggiungiamo dopo il sw = filecreate:

 

sw.WriteLine(texto da inserire)

sw.Flush()

sw.Close()

 

2) apertura e append di stringhe in un file esistente

Se sappiamo che un file esiste già e dobbiamo aggiungere del testo in nuove righe dobbiamo fare un append:

 

Dim path As String = "C:\percorso cartelle\nomefile.estensione"

Dim sw As StreamWriter

sw = File.AppendText(path)

sw.WriteLine(testo da aggiungere)

sw.Flush()

sw.Close()

 

3) leggere il contenuto di tutte le righe di un file di testo

Se vogliamo leggere tutte le righe di un file di testo per esempio per creare una lista di righe con una listbox, dovremo aprire in lettura il file e ciclare con un loop che legge e popola la listbox:

 

Dim path As String = "C:\percorso cartelle\nomefile.estensione"

Dim sr As StreamReader = File.OpenText(path)

Dim s As String

Do While sr.Peek() >= 0

s = sr.ReadLine()

ListBox1.Items.Add(s)

Loop

sr.Close()

 

4) verificare se una cartella esiste, altrimenti crearla:

 

If Not Directory.Exists("C:\percorso") Then

 My.Computer.FileSystem.CreateDirectory("C:\percordo")

End if

oppure:

 

Dim path As String = "C:\percorso"

If Not Directory.Exists(path) Then

My.Computer.FileSystem.CreateDirectory(path)

End if

 

5) cancellare una cartella e tutto il suo contenuto

 

Dim pathtodelete As String = "c:\percorso"

My.Computer.FileSystem.DeleteDirectory(pathtodelete, FileIO.DeleteDirectoryOption.DeleteAllContents)

 

se vogliamo cancellare più cartelle specifiche dovremo creare una lista di cartelle. Per esempio questo codice cancella tutte le sottocartelle (e i loro files) del percorso specificato che iniziano con la lettera A:

 

Dim pathstodelete As String() = Directory.GetDirectories("C:\percorso\", "a*")

Dim pathtodelete As String

For Each pathtodelete In pathstodelete

My.Computer.FileSystem.DeleteDirectory(pathtodelete, FileIO.DeleteDirectoryOption.DeleteAllContents)

Next

bottom of page