Per caricare e leggere un file di testo da Visual Basic .NET, attenersi alla seguente procedura:
- Aprire Visual Studio .NET. Creare una nuova applicazione console in Visual Basic .NET. In Visual Studio vengono automaticamente creati un modulo e una procedura Main() vuota.
-
Verificare che il progetto contenga riferimenti per lo meno allo spazio dei nomi System. Utilizzare l'istruzione Imports per gli spazi dei nomi System, System.IO e System.Collections
in modo che non sia necessario qualificare in un secondo tempo nel
codice le relative dichiarazioni. Queste istruzioni devono essere
utilizzate prima di qualunque altra dichiarazione.
Imports System Imports System.IO Imports System.Collections
-
Per aprire un file per la lettura, creare una nuova istanza di un oggetto StreamReader e passare il percorso del file al costruttore come segue:
Dim objReader As New StreamReader("c:\test.txt")
-
Occorrerà una variabile di stringa in cui memorizzare ogni riga del file
man mano che si procede. Poiché le righe verranno aggiunte a ArrayList, dichiarare e creare anche un oggetto di questo tipo.
Dim sLine As String = "" Dim arrText As New ArrayList()
-
Esistono vari modi per leggere all'interno del file, compreso il metodo ReadToEnd con il quale l'intero file viene letto immediatamente. In questo esempio è tuttavia possibile utilizzare il metodo ReadLine
per inserire il file una riga alla volta. Una volta raggiunta la fine
del file, il metodo restituisce "Nothing", il che costituisce un modo
per porre termine al loop. Man mano che ogni riga del file viene letta, è
possibile servirsi del metodo Add di ArrayList per inserire le righe nella classe ArrayList.
Do sLine = objReader.ReadLine() If Not sLine Is Nothing Then arrText.Add(sLine) End If Loop Until sLine Is Nothing objReader.Close()
- Utilizzare un loop "For Each" per scrivere nella console il contenuto dell'ArrayList in cui sono appena stati inseriti i dati come illustrato di seguito:
For Each sLine In arrText Console.WriteLine(sLine) Next Console.ReadLine()
- Salvare ed eseguire il codice, nella console viene visualizzato il file.
Elenco completo del codice
Imports System
Imports System.IO
Imports System.Collections
Module Module1
Sub Main()
Dim objReader As New StreamReader("c:\test.txt")
Dim sLine As String = ""
Dim arrText As New ArrayList()
Do
sLine = objReader.ReadLine()
If Not sLine Is Nothing Then
arrText.Add(sLine)
End If
Loop Until sLine Is Nothing
objReader.Close()
For Each sLine In arrText
Console.WriteLine(sLine)
Next
Console.ReadLine()
End Sub
End Module
Vi sono vari fattori di cui essere consapevoli quando si lavora con l'I/O di file, fra cui:
- Ogni volta che si accede a un file vi è la possibilità che il file che si tenta di leggere o su cui si tenta di scrivere non sia presente nel sistema o sia in uso.
- In questo esempio l'intero file viene letto in memoria prima di essere elaborato. Il file potrebbe essere troppo grande per essere contenuto in memoria oppure l'utente potrebbe non disporre delle autorizzazioni di accesso al file.
Nessun commento:
Posta un commento