TextFieldParser.ReadFields-Methode
Aktualisiert: November 2007
Liest alle Felder in der aktuellen Zeile, gibt sie als Zeichenfolgenarray zurück und setzt den Cursor in die nächste Zeile mit Daten.
' Usage
Dim value As String() = TextFieldParserObject.ReadFields()
' Declaration
Public Function ReadFields() As String()
Rückgabewert
String ().
Ausnahmen
Die folgende Bedingung verursacht möglicherweise das Auslösen einer Ausnahme:
- Ein Feld kann nicht mit dem angegebenen Format analysiert werden (MalformedLineException).
Hinweise
Damit Benutzer Textdateien in mehreren Formaten analysieren können, überprüft die ReadFields-Methode bei jedem Aufruf die Werte von TextFieldType, Delimiters und FieldWidths, sofern sie angegeben sind. Benutzer müssen die TextFieldType-Eigenschaft und die FieldWidths-Eigenschaft bzw. die Delimiters-Eigenschaft ordnungsgemäß konfigurieren. Wenn TextFieldType auf Delimited festgelegt ist und Delimiters nicht festgelegt ist, oder wenn TextFieldType auf FixedWidth festgelegt ist und FieldWidths nicht festgelegt ist, wird eine Ausnahme ausgelöst.
Wenn ReadFields auf Leerzeilen trifft, werden sie übersprungen, und die nächste nicht leere Zeile wird zurückgegeben.
![]() |
---|
Wenn die aktuelle Zeile durch die ReadFields-Methode nicht analysiert werden kann, wird eine Ausnahme ausgelöst und nicht zur nächsten Zeile gesprungen. So kann die Zeile ein weiteres Mal analysiert werden. |
Aufgaben
In der folgenden Tabelle werden Beispiele für Aufgaben mit der ReadFields-Methode aufgeführt.
Zweck |
Weitere Informationen finden Sie unter |
---|---|
Lesen aus einer Datei mit Trennzeichen |
Gewusst wie: Lesen aus durch Kommas getrennten Textdateien in Visual Basic |
Lesen aus einer Datei mit fester Breite |
Gewusst wie: Lesen aus einer Textdatei mit fester Breite in Visual Basic |
Beispiel
In diesem Beispiel wird die ReadFields-Methode verwendet, um aus der Datei ParserText.txt zu lesen und die Felder in Testfile.txt zu schreiben.
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
Anforderungen
Namespace:Microsoft.VisualBasic.FileIO
Klasse:TextFieldParser
Assembly: Visual Basic-Laufzeitbibliothek (in Microsoft.VisualBasic.dll)
Berechtigungen
Die folgenden Berechtigungen sind erforderlich:
Berechtigung |
Beschreibung |
---|---|
Zugeordnete Enumeration: Unrestricted |
|
Zugeordnete Enumeration: ControlEvidence |
Weitere Informationen finden Sie unter Codezugriffssicherheit und unter Anfordern von Berechtigungen.
Siehe auch
Aufgaben
Gewusst wie: Lesen aus durch Kommas getrennten Textdateien in Visual Basic
Gewusst wie: Lesen aus einer Textdatei mit fester Breite in Visual Basic
Gewusst wie: Lesen aus Textdateien mit mehreren Formaten in Visual Basic
Konzepte
Analysieren von Textdateien mit dem TextFieldParser-Objekt
Referenz
TextFieldParser.TextFieldType-Eigenschaft
TextFieldParser.FieldWidths-Eigenschaft