Condividi tramite


Lettura da un file di testo

Aggiornamento: novembre 2007

In questa lezione verrà illustrato come leggere da un file di testo in Visual Basic utilizzando l'Oggetto My.Computer.FileSystem.

Nella lezione precedente, Scrittura in un file di testo, viene descritto come aggiungere all'applicazione Visualizzatore immagini una funzionalità che consenta di salvare i nomi delle immagini preferite in un file di testo. Il passaggio successivo consiste nel leggere dal file di testo, che consente di visualizzare solo le immagini preferite.

Nozioni fondamentali sui file

Prima di leggere da un file di testo, è necessario conoscere alcuni concetti. L'oggetto My in Visual Basic facilita l'utilizzo dei file. La lettura dai file di un computer può essere effettuata utilizzando il Metodo My.Computer.FileSystem.ReadAllText dell'Oggetto My.Computer.FileSystem.

I file di testo contenenti stringhe separate da virgole sono noti come file di testo delimitati da virgole. Ogni elemento del file di testo è noto invece come campo. Se si desidera leggere il contenuto di un file di testo delimitato da virgole, è possibile utilizzare il Metodo My.Computer.FileSystem.OpenTextFieldParser.

In questa procedura, si verificherà che il file di testo dei Preferiti sia presente nella cartella Documenti prima di provare a caricarlo. Se il file non è presente, nell'applicazione verrà visualizzato un messaggio per gli utenti.

Nota:

In Windows XP sono presenti cartelle speciali denominate MyDocuments, MyPictures e MyMusic. In Windows Vista non è incluso "My" nei nomi di tali cartelle, che vengono invece denominate Documents, Pictures e Music. Tuttavia, il codice in questa lezione verrà eseguito sia su Windows XP sia su Windows Vista.

Procedura

Per leggere da un file di testo delimitato da virgole

  1. Aprire il progetto Visualizzatore immagini della lezione precedente. Se questa lezione non è stata ancora completata, tornare a Scrittura in un file di testo ed eseguire le procedure indicate prima di continuare.

  2. In Esplora soluzioni fare clic su Form1.vb, quindi scegliere Finestra di progettazione dal menu Visualizza.

  3. Aggiungere un controllo Button al form accanto al pulsante Aggiungi a Preferiti.

  4. Modificare le proprietà seguenti del pulsante:

    Proprietà

    Value

    Name

    LoadFavorites

    Text

    Load Favorites

    Size

    85, 23

  5. Fare doppio clic sul nuovo controllo Button per aggiungere il gestore eventi predefinito nell'editor del codice.

  6. Nel gestore dell'evento LoadFavorites_Click, aggiungere il codice riportato di seguito per deselezionare il contenuto della casella di riepilogo e della casella di immagine. Se infatti non si deseleziona prima la casella di riepilogo, il nome e il percorso del file verranno accodati all'elenco ogni volta che si fa clic sul pulsante Carica Preferiti.

    ' Clear the picture box and the list box.
    Me.ListBox1.Items.Clear()
    Me.PictureBox1.ImageLocation = ""
    
  7. Aggiungere l'istruzione If riportata di seguito per controllare se il file di testo FavoritePictures esiste. In caso contrario, informare l'utente.

    Dim FavoritePictures As String = _
     My.Computer.FileSystem.SpecialDirectories.MyDocuments _
     & "\FavoritePictures.txt"
    If My.Computer.FileSystem.FileExists(FavoritePictures) Then
    
        ' Add code to read text from a file.
    
    Else
        MsgBox("There is no favorites file yet. Click Load" _
          & " Pictures," & vbCrLf & "select a picture, and" _
          & " then click Add to Favorites.", MsgBoxStyle.OkOnly, _
          "Picture Viewer")
    End If
    
  8. Sostituire il commento compreso tra l'istruzione If e l'istruzione Else con il codice riportato di seguito. In questo codice viene utilizzato il metodo OpenTextFieldParser per leggere il contenuto del file FavoritePictures.txt. Viene quindi indicato che il delimitatore di testo è una virgola.

    ' Open the FavoritePictures text file by using
    ' OpenTextFieldParser.
    Dim MyReader As Microsoft.VisualBasic.FileIO.TextFieldParser
    MyReader = My.Computer.FileSystem.OpenTextFieldParser( _
        FavoritePictures)
    MyReader.SetDelimiters(",")
    
  9. Aggiungere il codice riportato di seguito sotto il codice aggiunto al passaggio precedente. In questo codice viene eseguito un ciclo nei campi del file di testo e viene controllata la presenza di tutti i file prima di aggiungerli al controllo ListBox. Viene quindi effettuata la chiusura di TextFieldParser.

    ' Using a comma (,) as a delimeter, parse each field in 
    ' the text file and add it to the list box.
    Dim textFields As String() = MyReader.ReadFields()
    For Each currentField As String In textFields
       If My.Computer.FileSystem.FileExists(currentField) Then
            Me.ListBox1.Items.Add(currentField)
       End If
    Next
    
    ' Close the TextFieldParser.
    MyReader.Close()
    
  10. Premere F5 per eseguire il codice.

  11. Fare clic sul pulsante Carica Preferiti per caricare i file elencati nel file FavoritePictures.txt.

  12. Selezionare una voce della casella di riepilogo per visualizzare l'immagine in Visualizzatore immagini.

Passaggi successivi

In questa lezione è stato descritto come leggere un file di testo delimitato da virgole e aggiungere ogni elemento del file a un elenco. Nella lezione successiva verrà illustrato come eliminare il file di testo dei Preferiti dalla cartella Documenti.

Lezione successiva: Eliminazione di un file di testo

Vedere anche

Attività

Recupero dei nomi dei file in una cartella

Scrittura in un file di testo

Altre risorse

Utilizzo del file system: lettura e scrittura nei file

Presentazione guidata di Visual Basic