Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
El TextFieldParser
objeto proporciona una manera de analizar archivos de texto estructurados de forma fácil y eficaz, como registros. La TextFieldType
propiedad define si es un archivo delimitado o uno con campos de ancho fijo de texto.
Para analizar un archivo de texto delimitado por comas
Crear un nuevo
TextFieldParser
. El código siguiente crea elTextFieldParser
objeto denominadoMyReader
y abre el archivotest.txt
.Using MyReader As New Microsoft.VisualBasic. FileIO.TextFieldParser( "C:\TestFolder\test.txt")
Definir el tipo
TextField
y el delimitador. El código siguiente define laTextFieldType
propiedad comoDelimited
y el delimitador como ",".MyReader.TextFieldType = FileIO.FieldType.Delimited MyReader.SetDelimiters(",")
Recorra en bucle los campos del archivo. Si alguna línea está dañada, notifique un error y continúe el análisis. El código siguiente recorre en bucle el archivo, mostrando cada campo a su vez e informando de los campos con formato incorrecto.
Dim currentRow As String() While Not MyReader.EndOfData Try currentRow = MyReader.ReadFields() Dim currentField As String For Each currentField In currentRow MsgBox(currentField) Next Catch ex As Microsoft.VisualBasic. FileIO.MalformedLineException MsgBox("Line " & ex.Message & "is not valid and will be skipped.") End Try
Cierre los
While
bloques yUsing
conEnd While
yEnd Using
.End While End Using
Ejemplo
En este ejemplo se lee el archivo test.txt
.
Using MyReader As New Microsoft.VisualBasic.
FileIO.TextFieldParser(
"C:\TestFolder\test.txt")
MyReader.TextFieldType = FileIO.FieldType.Delimited
MyReader.SetDelimiters(",")
Dim currentRow As String()
While Not MyReader.EndOfData
Try
currentRow = MyReader.ReadFields()
Dim currentField As String
For Each currentField In currentRow
MsgBox(currentField)
Next
Catch ex As Microsoft.VisualBasic.
FileIO.MalformedLineException
MsgBox("Line " & ex.Message &
"is not valid and will be skipped.")
End Try
End While
End Using
Programación sólida
Las condiciones siguientes pueden provocar una excepción:
No se puede analizar una fila con el formato especificado (MalformedLineException). El mensaje de excepción especifica la línea que provoca la excepción, mientras que a la ErrorLine propiedad se le asigna el texto contenido en la línea.
El archivo especificado no existe (FileNotFoundException).
Situación de confianza parcial en la que el usuario no tiene permisos suficientes para acceder al archivo. (SecurityException).
La ruta de acceso del archivo es demasiado larga (PathTooLongException).
El usuario no tiene permisos suficientes para acceder al archivo (UnauthorizedAccessException).
Consulte también
- Microsoft.VisualBasic.FileIO.TextFieldParser
- Cómo: Leer desde archivos de texto de ancho fijo
- Cómo: Leer archivos de texto con varios formatos
- Análisis de archivos de texto con el objeto TextFieldParser
- Tutorial: Manipular archivos y directorios en Visual Basic
- Solución de problemas: Leer y escribir en archivos de texto