이 TextFieldParser
개체를 사용하면 로그 파일 또는 레거시 데이터베이스 정보와 같이 구분된 너비의 텍스트 열로 구조화된 매우 큰 파일을 구문 분석하고 처리할 수 있습니다. 텍스트 파일을 구문 분석하는 것은 텍스트 파일을 TextFieldParser
반복하는 것과 유사하지만 텍스트 필드를 추출하는 구문 분석 메서드는 구분된 문자열을 토큰화하는 데 사용되는 문자열 조작 메서드와 유사합니다.
다양한 형식의 텍스트 파일 구문 분석
텍스트 파일에는 쉼표 또는 탭 공간과 같은 문자로 구분된 다양한 너비의 필드가 있을 수 있습니다.
TextFieldType
및 구분 기호를 다음 예제와 같이 정의합니다. 이 예제에서는 SetDelimiters
메서드를 사용하여 탭으로 구분된 텍스트 파일을 정의합니다.
testReader.SetDelimiters(vbTab)
다른 텍스트 파일에는 필드 너비가 고정되어 있을 수 있습니다. 이러한 경우 다음 예제와 같이 as TextFieldType
를 FixedWidth
정의하고 각 필드의 너비를 정의해야 합니다. 이 예제에서는 메서드를 사용하여 SetFieldWidths
텍스트 열을 정의합니다. 첫 번째 열은 너비가 5자이고, 두 번째 열은 10자, 세 번째 열은 11이고, 네 번째는 가변 너비입니다.
testReader.SetFieldWidths(5, 10, 11, -1)
testReader.TextFieldType = Microsoft.VisualBasic.FileIO.FieldType.FixedWidth
형식이 정의되면 메서드를 사용하여 ReadFields
각 줄을 차례로 처리하여 파일을 반복할 수 있습니다.
필드가 지정된 형식과 일치하지 않으면 예외가 MalformedLineException throw됩니다. 이러한 예외가 발생하면, ErrorLine
및 ErrorLineNumber
속성에는 예외를 일으킨 텍스트와 해당 텍스트의 줄 번호가 저장됩니다.
여러 형식의 파일을 구문 분석하기
개체의 PeekChars
메서드를 TextFieldParser
사용하여 각 필드를 읽기 전에 확인할 수 있으므로 필드에 대한 여러 형식을 정의하고 그에 따라 반응할 수 있습니다. 자세한 내용은 방법: 여러 형식의 텍스트 파일에서 읽기를 참조하세요.
참고하십시오
.NET