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 permite analizar y procesar archivos muy grandes que se estructuran como columnas de ancho delimitado de texto, como archivos de registro o información heredada de la base de datos. Analizar un archivo de texto con TextFieldParser
es similar a recorrer en iteración un archivo de texto, mientras que el método de análisis para extraer campos de texto es similar a los métodos de manipulación de cadenas que se usan para tokenizar cadenas delimitadas.
Análisis de diferentes tipos de archivos de texto
Los archivos de texto pueden tener campos de varios anchos, delimitados por un carácter como una coma o un espacio de tabulación. Defina TextFieldType
y el delimitador, como en el ejemplo siguiente, que utiliza el método SetDelimiters
para definir un archivo de texto delimitado por tabulaciones:
testReader.SetDelimiters(vbTab)
Otros archivos de texto pueden tener anchos de campo fijos. En tales casos, debe definir TextFieldType
como FixedWidth
y establecer los anchos de cada campo, como en el ejemplo siguiente. En este ejemplo se usa el SetFieldWidths
método para definir las columnas de texto: la primera columna tiene 5 caracteres de ancho, la segunda es 10, la tercera es 11 y la cuarta es de ancho variable.
testReader.SetFieldWidths(5, 10, 11, -1)
testReader.TextFieldType = Microsoft.VisualBasic.FileIO.FieldType.FixedWidth
Una vez definido el formato, puede recorrer el archivo mediante el ReadFields
método para procesar cada línea a su vez.
Si un campo no coincide con el formato especificado, se produce una MalformedLineException excepción. Cuando se producen estas excepciones, las ErrorLine
propiedades y ErrorLineNumber
contienen el texto que provoca la excepción y el número de línea de ese texto.
Análisis de archivos con varios formatos
El PeekChars
método del TextFieldParser
objeto se puede usar para comprobar cada campo antes de leerlo, lo que le permite definir varios formatos para los campos y reaccionar en consecuencia. Para obtener más información, vea Cómo: Leer archivos de texto con varios formatos.