배치개발환경에서 한글이 포함된 파일을 fixedLength 방식으로 읽어올시 Range 설정
- 작성자 :
- 이*훈
- 작성일 :
- 2022-11-06 23:56:52
- 조회수 :
- 531
- 구분 :
- 실행환경 / 4.0
- 진행상태 :
- 완료
Q
fixedLength 방식으로 파일을 한줄씩 읽어와서 File to DB 를 작업하는 로직입니다.
encoding 형식은 읽을 파일(txt) 형식에 따른 UTF-8로 했구요.
FixedLengthTokenizer 를 사용하여 각 컬럼당 길이를 Range로 설정하고 있는데,
'한글'이 포함된 컬럼이 있을 경우, 줄마다 컬럼 length가 맞지 않는 현상을 경험하고 있습니다.
(첫째줄의 컬럼당 Length가 둘째줄이랑 맞지 않아 FixedLengthTokenizer에서 범위 누락 예외를 던지고 있습니다.)
이럴 경우 어떤 방법을 사용해야 하나요? 혹 Range 말고 다른식으로 고정길이를 세팅하는 방법이 있을까요?
encoding 형식은 읽을 파일(txt) 형식에 따른 UTF-8로 했구요.
FixedLengthTokenizer 를 사용하여 각 컬럼당 길이를 Range로 설정하고 있는데,
'한글'이 포함된 컬럼이 있을 경우, 줄마다 컬럼 length가 맞지 않는 현상을 경험하고 있습니다.
(첫째줄의 컬럼당 Length가 둘째줄이랑 맞지 않아 FixedLengthTokenizer에서 범위 누락 예외를 던지고 있습니다.)
이럴 경우 어떤 방법을 사용해야 하나요? 혹 Range 말고 다른식으로 고정길이를 세팅하는 방법이 있을까요?
환경정보
-
- OS 정보 : Windows 10
- 표준프레임워크 버전 : 4.0
- JDK(JRE) 정보 : 11
- WAS 정보 : Spring Boot 2점대
- DB 정보 : Tibero
- 기타 환경 정보 :
A
안녕하세요.
표준프레임워크센터입니다.
전자정부 배치프레임워크에서는 FixedLengthTokenizer, EgovFixedLengthTokenizer 두 가지 타입이 토크나이저를 제공하고 있습니다.
FixedLength 타입의 경우 길이를 확정해 줘야 하기 때문에
컬럼요소의 길이가 추정이 가능할때 사용이 가능합니다.
예를들어 해당 데이타가
길이가 정해져 있는 DB 테이블의 컬럼에서 만들어진 것이라면
사용이 가능할듯 합니다.
Length를 특정하기 어려운경우
EgovDelimitedLineTokenizer를 사용하셔야 할듯 합니다.
감사합니다.
표준프레임워크센터입니다.
전자정부 배치프레임워크에서는 FixedLengthTokenizer, EgovFixedLengthTokenizer 두 가지 타입이 토크나이저를 제공하고 있습니다.
FixedLength 타입의 경우 길이를 확정해 줘야 하기 때문에
컬럼요소의 길이가 추정이 가능할때 사용이 가능합니다.
예를들어 해당 데이타가
길이가 정해져 있는 DB 테이블의 컬럼에서 만들어진 것이라면
사용이 가능할듯 합니다.
Length를 특정하기 어려운경우
EgovDelimitedLineTokenizer를 사용하셔야 할듯 합니다.
감사합니다.