[SPRING] 스프링 배치의 FlatfileItemReader에있는 파일에서 인용 된 CSV의 줄 바꿈 읽기
SPRING스프링 배치의 FlatfileItemReader에있는 파일에서 인용 된 CSV의 줄 바꿈 읽기
FlatFileItemReader와 CSV 파일을 구문 분석하려고합니다. 이 CSV에는 아래에 표시된 것과 같이 일부 인용 줄 바꿈 문자가 포함되어 있습니다.
email, name
abc@z.com, "NEW NAME
ABC"
그러나이 구문 분석은 필수 필드가 2인데 실패했지만 실제 값은 1입니다.
FlatFileReader 구성에서 누락 된 부분은 무엇입니까?
<property name="lineMapper">
<bean class="org.springframework.batch.item.file.mapping.DefaultLineMapper">
<!-- The lineTokenizer divides individual lines up into units of work -->
<property name="lineTokenizer">
<bean
class="org.springframework.batch.item.file.transform.DelimitedLineTokenizer">
<!-- Names of the CSV columns -->
<property name="names"
value="email,name" />
</bean>
</property>
<!-- The fieldSetMapper maps a line in the file to a Product object -->
<property name="fieldSetMapper">
<bean
class="com.abc.testme.batchjobs.util.CustomerFieldSetMapper" />
</property>
</bean>
</property>
해결법
-
==============================
1.SimpleFileItemReader는 사용 후 즉시 Simple RecordSeparatorPolicy를 사용합니다.
SimpleFileItemReader는 사용 후 즉시 Simple RecordSeparatorPolicy를 사용합니다.
DefaultRecordSeparatorPolicy를 설정해야합니다.
자사의 javadoc에서 인용 :
예제 XML 구성
<bean id="reader" class="org.springframework.batch.item.file.FlatFileItemReader"> ... <property name="recordSeparatorPolicy"> <bean class="org.springframework.batch.item.file.separator.DefaultRecordSeparatorPolicy" /> </property> ... </bean>
from https://stackoverflow.com/questions/29509074/reading-line-breaks-in-csv-which-are-quoted-in-the-file-in-flatfileitemreader-of by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] 머리글에서 값을 가져 와서 body 매개 변수에 추가하라는 모든 요청을 꾸미는 방법? (0) | 2019.04.08 |
---|---|
[SPRING] List와 함께 PropertyPlaceholderConfigurer 사용 (0) | 2019.04.08 |
[SPRING] 인터페이스가없는 Spring Bean 클래스를 정의하고 싶습니다. (0) | 2019.04.08 |
[SPRING] 컨트롤러에서 작동하지만 다른 클래스에서는 작동하지 않는 Spring @ Autowired messageSource? (0) | 2019.04.08 |
[SPRING] Spring Data Mongodb - 다른 유형의 콜렉션을위한 저장소 (0) | 2019.04.08 |