Condividi tramite


Analisi dei file di testo con l'oggetto TextFieldParser

Aggiornamento: Luglio 2008

L'oggetto TextFieldParser consente di analizzare ed elaborare file di grandi dimensioni strutturati come colonne di testo a larghezza delimitata, ad esempio i file di log e le informazioni di database legacy. L'analisi di un file di testo con TextFieldParser è simile all'esecuzione di un'operazione di scorrimento in un file di testo, mentre l'uso del metodo di analisi per l'estrazione dei campi di testo è analogo ai metodi di manipolazione delle stringhe utilizzati per rappresentare le stringhe delimitate in token di dati.

Analisi dei diversi tipi di file di testo

I file di testo possono contenere campi di larghezza diversa delimitati da caratteri, ad esempio da una virgola o da uno spazio di tabulazione. Definire TextFieldType e il delimitatore, come mostrato nell'esempio seguente, dove viene utilizzato il metodo SetDelimiters per definire un file di testo delimitato da tabulazione.

testReader.SetDelimiters(vbTab)

Altri file di testo potrebbero contenere larghezze di campo fisse. In questi casi è necessario definire il TextFieldType come FixedWidth e definire la larghezza di ogni campo, come nell'esempio riportato di seguito. In questo esempio viene utilizzato il metodo SetFieldWidths per definire le colonne di testo: la prima colonna ha una larghezza di 5 caratteri, la seconda di 10, la terza di 11 e la quarta è di larghezza variabile.

testReader.SetFieldWidths(5, 10, 11, -1)
testReader.TextFieldType = Microsoft.VisualBasic.FileIO.FieldType.FixedWidth

Una volta definito il formato, è possibile scorrere in ciclo il file utilizzando il metodo ReadFields per elaborare una riga per volta.

Se un campo non corrisponde al formato specificato viene generata l'eccezione MalformedLineException. Quando vengono generate tali eccezioni, le proprietà ErrorLine e ErrorLineNumber contengono il testo che causa l'eccezione nonché il numero di riga corrispondente.

Analisi dei file con più formati

Il metodo PeekChars dell'oggetto TextFieldParser può essere utilizzato per controllare ogni campo prima che venga letto, consentendo così di definire più formati per i campi e reagire di conseguenza. Per ulteriori informazioni, vedere Procedura: leggere file di testo con più formati in Visual Basic.

Vedere anche

Attività

Risoluzione dei problemi relativi alle eccezioni: Microsoft.VisualBasic.FileIO.TextFieldParser.MalformedLineException

Riferimenti

Metodo My.Computer.FileSystem.OpenTextFieldParser

Oggetto TextFieldParser

Metodo TextFieldParser.PeekChars

Metodo TextFieldParser.ReadFields

Proprietà TextFieldParser.CommentTokens

Proprietà TextFieldParser.Delimiters

Proprietà TextFieldParser.ErrorLine

Proprietà TextFieldParser.ErrorLineNumber

Proprietà TextFieldParser.FieldWidths

Proprietà TextFieldParser.HasFieldsEnclosedInQuotes

Proprietà TextFieldParser.LineNumber

Proprietà TextFieldParser.TextFieldType

Proprietà TextFieldParser.TrimWhiteSpace

Metodo TextFieldParser.SetDelimiters

Metodo TextFieldParser.SetFieldWidths

Cronologia delle modifiche

Data

Cronologia

Motivo

Luglio 2008

Aggiornato l'esempio di codice SetFieldWidths e i relativi commenti.

Commenti e suggerimenti dei clienti.