Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
L'oggetto TextFieldParser
consente di analizzare ed elaborare file di dimensioni molto grandi strutturate come colonne delimitate di testo, ad esempio file di log o informazioni sul database legacy. L'analisi di un file di testo con TextFieldParser
è simile all'iterazione su un file di testo, mentre il metodo di analisi per estrarre campi di testo è simile ai metodi di manipolazione delle stringhe usati per tokenizzare stringhe delimitate.
Analisi di diversi tipi di file di testo
I file di testo possono avere campi di varie larghezze, delimitati da un carattere, ad esempio una virgola o uno spazio di tabulazioni. Definire TextFieldType
e il delimitatore, come nell'esempio seguente, che usa il SetDelimiters
metodo per definire un file di testo delimitato da tabulazioni:
testReader.SetDelimiters(vbTab)
Altri file di testo possono avere larghezze di campo fisse. In questi casi, è necessario definire come TextFieldType
FixedWidth
e definire le larghezze di ogni campo, come nell'esempio seguente. In questo esempio viene utilizzato il SetFieldWidths
metodo per definire le colonne di testo: la prima colonna è larga 5 caratteri, la seconda è 10, la terza è 11 e la quarta è di larghezza variabile.
testReader.SetFieldWidths(5, 10, 11, -1)
testReader.TextFieldType = Microsoft.VisualBasic.FileIO.FieldType.FixedWidth
Dopo aver definito il formato, è possibile scorrere il file usando il ReadFields
metodo per elaborare ogni riga a sua volta.
Se un campo non corrisponde al formato specificato, viene generata un'eccezione MalformedLineException . Quando vengono generate eccezioni di questo tipo, le ErrorLine
proprietà e ErrorLineNumber
contengono il testo che causa l'eccezione e il numero di riga del testo.
Analisi di file con più formati
Il PeekChars
metodo dell'oggetto TextFieldParser
può essere usato per controllare ogni campo prima di leggerlo, consentendo di definire più formati per i campi e reagire di conseguenza. Per altre informazioni, vedere Procedura: Leggere da file di testo con più formati.