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