【发布时间】:2012-04-27 07:04:20
【问题描述】:
我正在从文件中读取记录并插入数据库。
我正在使用 DB2 数据库。
记录是这样的:
abc pqr abcd
所以在 abc 之前,记录的开头也有几个空格。
我正在使用 SpringBatch 程序和内部字段集映射器读取文件,我正在打印从文件中读取的字符串:
System.out.println("*" + fieldSet.readString("FULL_RECORD") + "*");
但是,我得到的结果是:
*abc pqr abcd*
这意味着没有保留前导空格。
我的配置文件中的 linetokenizer 是:
<beans:property name="lineTokenizer">
<beans:bean class="org.springframework.batch.item.file.transform.FixedLengthTokenizer">
<beans:property name="columns" value="1-241"/>
<beans:property name="names" value="FULL_RECORD"/>
</beans:bean>
</beans:property>
我正在使用默认线映射器类并将上面的标记器作为其属性传递。
org.springframework.batch.item.file.mapping.DefaultLineMapper
如何保留每条记录前的前导空格?
【问题讨论】:
-
也许在 "abc" 和 "pqr" 之间有一个 \t 而不是空格。
-
@IManis_tn:只有在记录开头有前导空格时才会出现问题。 abc 和 pqr 之间的空格很好。
-
因此,如果您可以将记录作为字符串,请尝试使用 trim() 消除记录开头和结尾的前导空格。
-
您的文字中没有真正的问题,但我是否理解正确:您想保留尾随空格?
-
@Ralph:我想保留前导空格...前导空格没有得到保留,这从我的问题中的 Sys Out 输出中可以清楚地看出..
标签: java string spring spring-batch