Compartir a través de


Análisis de archivos de texto con el objeto TextFieldParser (Visual Basic)

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.

Consulte también