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