Share via


Analizar archivos de texto con el objeto TextFieldParser

Actualización: Julio de 2008

El objeto TextFieldParser permite analizar y procesar archivos muy grandes estructurados como columnas de texto de ancho delimitado, como archivos de registro o información de base de datos heredada. 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 archivos de texto es similar a los métodos de manipulación de cadenas que se utilizan para convertir cadenas delimitadas en símbolos.

Analizar 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 la propiedad 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 tal caso, es necesario definir TextFieldType como FixedWidth y definir los anchos de cada campo, como en el ejemplo siguiente. En este ejemplo se utiliza el método SetFieldWidths, para definir las columnas de texto: la primera columna tiene 5 caracteres de ancho, la segunda tiene 10, la tercera 11 y la cuarta es de ancho variable.

testReader.SetFieldWidths(5, 10, 11, -1)
testReader.TextFieldType = Microsoft.VisualBasic.FileIO.FieldType.FixedWidth

Cuando se define el formato, se puede recorrer el archivo utilizando el método ReadFields para procesar cada línea.

Si un campo no coincide con el formato especificado, se produce una excepción MalformedLineException. Cuando se produce este tipo de excepciones, las propiedades ErrorLine y ErrorLineNumber contienen el texto que produce la excepción y el número de línea de ese texto.

Analizar archivos con varios formatos

El método PeekChars del objeto TextFieldParser se puede utilizar para comprobar cada archivo antes de leerlo, lo que permite definir varios formatos para los campos y actuar en consecuencia. Para obtener más información, vea Cómo: Leer archivos de texto con varios formatos en Visual Basic.

Vea también

Tareas

Solución de problemas de excepciones: Microsoft.VisualBasic.FileIO.TextFieldParser.MalformedLineException

Referencia

My.Computer.FileSystem.OpenTextFieldParser (Método)

TextFieldParser (Objeto)

TextFieldParser.PeekChars (Método)

TextFieldParser.ReadFields (Método)

TextFieldParser.CommentTokens (Propiedad)

TextFieldParser.Delimiters (Propiedad)

TextFieldParser.ErrorLine (Propiedad)

TextFieldParser.ErrorLineNumber (Propiedad)

TextFieldParser.FieldWidths (Propiedad)

TextFieldParser.HasFieldsEnclosedInQuotes (Propiedad)

TextFieldParser.LineNumber (Propiedad)

TextFieldParser.TextFieldType (Propiedad)

TextFieldParser.TrimWhiteSpace (Propiedad)

TextFieldParser.SetDelimiters (Método)

TextFieldParser.SetFieldWidths (Método)

Historial de cambios

Fecha

Historial

Motivo

Julio de 2008

Ejemplo de código SetFieldWidths actualizado y comentarios.

Comentarios de los clientes.