Spring batch Spring批处理-FlatFileItemReader\001分隔符问题
我正在开发一个Spring批处理应用程序,其中我使用FlatFileItemReader读取带有分隔符~或|的文件,该文件工作正常,读取完成后调用处理器 但是,当我尝试将分隔符用作\001时,不会调用处理器,并且在console.Linux环境中也不会出现任何错误 文件格式示例: 0002~000000000000000 470~0000062062062010080878~PR~7044656907~7044641561~~~~240082202~~ENG~CH~~19940926~D~~AL~~p~美国 这是我的阅读器配置 还有其他人面临同样的问题吗 问候,,Spring batch Spring批处理-FlatFileItemReader\001分隔符问题,spring-batch,Spring Batch,我正在开发一个Spring批处理应用程序,其中我使用FlatFileItemReader读取带有分隔符~或|的文件,该文件工作正常,读取完成后调用处理器 但是,当我尝试将分隔符用作\001时,不会调用处理器,并且在console.Linux环境中也不会出现任何错误 文件格式示例: 0002~000000000000000 470~0000062062062010080878~PR~7044656907~7044641561~~~~240082202~~ENG~CH~~19940926~D~~AL
香卡尔我要回答我自己的问题 实际问题是linux ^A中的控制字符用作分隔符 在Java中,当我使用string.split\u0001时,它正在工作。同样,将相同的内容作为分隔符传递给Spring batch flatfileitemreader,它的工作方式就像一个符咒 谢谢
Shankar.我希望将分隔符作为^A而不是\001传递。。无论如何,我明天会测试它,并告诉你结果。
<property name="resource" value="#{stepExecutionContext['fileResource']}" />
<!-- <property name="linesToSkip" value="1"></property> -->
<property name="lineMapper">
<bean class="org.springframework.batch.item.file.mapping.DefaultLineMapper">
<property name="lineTokenizer">
<bean
class="org.springframework.batch.item.file.transform.DelimitedLineTokenizer">
<property name="delimiter" value="${file.delimiter}"/>
<property name="names" value="sor_id,sor_cust_id,acct_id,cust_role_type_cd,cust_full_nm,mailg_adr_line_1,mailg_adr_line_2,mailg_city_nm,mailg_geo_st_cd,mailg_full_pstl_cd,mailg_cntry_cd,mailg_adr_desc,phy_adr_line_1,phy_adr_line_2,phy_city_nm,phy_geo_st_cd,phy_full_pstl_cd,phy_cntry_cd,phy_adr_desc,home_phn_num,work_phn_num,mobile_phn_num,email_adr_txt,ssn,cust_tax_idn_num,gndr_cd,martl_cd,lang_cd,acct_stat_cd,cust_brth_dt,acct_open_dt,sor_acct_stat_cd,sor_acct_stat_desc,vld_phn_num_ind,prod_cd,prft_ctr_cd,bus_legl_strc_cd,acct_use_cd,cntry_of_origin_cd" />
</bean>
</property>
<property name="fieldSetMapper">
<bean class="com.cap1.cdi.batch.SrcMasterFieldSetMapper" />
</property>
</bean>
</property>
</bean>