Metodo TextFieldParser.ReadFields
Aggiornamento: novembre 2007
Consente di leggere tutti i campi sulla riga corrente, li restituisce come matrice di stringhe e fa avanzare il cursore alla riga di dati successiva.
' Usage
Dim value As String() = TextFieldParserObject.ReadFields()
' Declaration
Public Function ReadFields() As String()
Valore restituito
String ().
Eccezioni
La seguente condizione può causare la generazione di un'eccezione:
- Non è possibile analizzare il campo utilizzando il formato specificato (MalformedLineException).
Note
Per consentire agli utenti di analizzare i file di testo in più formati, il metodo ReadFields prende in esame i valori di TextFieldType, Delimiters e FieldWidths eventualmente specificati ogni volta che viene chiamato. È necessario che gli utenti configurino correttamente le proprietà TextFieldType e FieldWidths o Delimiters. Se TextFieldType viene impostato su Delimited e Delimiters non viene impostato oppure se TextFieldType viene impostato su FixedWidth e FieldWidths non viene impostato, viene generata un'eccezione.
Se ReadFields incontra righe vuote, queste ultime vengono ignorate e viene restituita la successiva riga non vuota.
Nota: |
---|
Se il metodo ReadFields non può analizzare la riga corrente, genera un'eccezione e non si sposta alla riga successiva. In tal modo l'applicazione potrà tentare di analizzare nuovamente la riga. |
Attività
Nella tabella riportata di seguito sono elencati esempi di attività relative al metodo ReadFields.
Per |
Vedere |
---|---|
Leggere da un file delimitato |
Procedura: leggere file di testo delimitati da virgola in Visual Basic |
Leggere da un file a larghezza fissa |
Procedura: leggere file di testo a larghezza fissa in Visual Basic |
Esempio
Nell'esempio viene utilizzato il metodo ReadFields per leggere il file ParserText.txt e scrivere i campi in Testfile.txt.
Using MyReader As New Microsoft.VisualBasic.FileIO.TextFieldParser("C:\ParserText.txt")
MyReader.TextFieldType = Microsoft.VisualBasic.FileIO.FieldType.Delimited
MyReader.Delimiters = New String() {","}
Dim currentRow As String()
While Not MyReader.EndOfData
Try
currentRow = MyReader.ReadFields()
For Each currentField As String In currentRow
My.Computer.FileSystem.WriteAllText _
("C://testfile.txt", currentField, True)
Next
Catch ex As Microsoft.VisualBasic.FileIO.MalformedLineException
MsgBox("Line " & ex.Message & " is invalid. Skipping")
End Try
End While
End Using
Requisiti
Spazio dei nomi:Microsoft.VisualBasic.FileIO
Classe:TextFieldParser
Assembly: libreria di runtime di Visual Basic (in Microsoft.VisualBasic.dll)
Autorizzazioni
Sono richieste le seguenti autorizzazioni:
Autorizzazione |
Descrizione |
---|---|
Enumerazione associata: Unrestricted. |
|
Enumerazione associata: ControlEvidence. |
Per ulteriori informazioni, vedere Protezione dall'accesso di codice e Richiesta di autorizzazioni.
Vedere anche
Attività
Procedura: leggere file di testo delimitati da virgola in Visual Basic
Procedura: leggere file di testo a larghezza fissa in Visual Basic
Procedura: leggere file di testo con più formati in Visual Basic
Concetti
Analisi dei file di testo con l'oggetto TextFieldParser
Riferimenti
Proprietà TextFieldParser.TextFieldType
Proprietà TextFieldParser.FieldWidths