spring batch writing to a fixed format file(Spring批量写入固定格式文件)
本文介绍了Spring批量写入固定格式文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个项目写入器,如下所示:
<beans:property name="lineAggregator">
<beans:bean class="org.springframework.batch.item.file.transform.FormatterLineAggregator">
<beans:property name="fieldExtractor">
<beans:bean class="org.springframework.batch.item.file.transform.BeanWrapperFieldExtractor">
<beans:property name="names" value="column1, column2, column3, column4 " />
</beans:bean>
</beans:property>
<beans:property name="format" value="%-8s%-12s%-11s%-16s" />
</beans:bean>
</beans:property>
非常清楚,我将4列写入一个固定格式的文件,列长分别为8、12、11和16。
但是,假设第1列字符串是14个字符,而不是8个字符,则输出文件通过将整行向前推来盲目地容纳所有14个字符。
THIS IS A TEST
Expecting:
THIS IS COL2STARTS
Getting:
THIS IS A TESTCOL2STARTS
如何避免这种情况?
是否应截断其余字符并仅写入前8个字符?
我是否需要在代码中进行验证才能严格按列传递8个字符?
推荐答案
您必须设置精度和宽度。尝试此格式化程序字符串:
<beans:property name="format" value="%-8.8s%-12.12s%-11.11s%-16.16s" />
参见:FormatterLineAggregator,Formatter
这篇关于Spring批量写入固定格式文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
沃梦达教程
本文标题为:Spring批量写入固定格式文件


猜你喜欢
- 转换 ldap 日期 2022-01-01
- 未找到/usr/local/lib 中的库 2022-01-01
- java.lang.IllegalStateException:Bean 名称“类别"的 BindingResult 和普通目标对象都不能用作请求属性 2022-01-01
- 如何指定 CORS 的响应标头? 2022-01-01
- GC_FOR_ALLOC 是否更“严重"?在调查内存使用情况时? 2022-01-01
- Eclipse 的最佳 XML 编辑器 2022-01-01
- 将 Java Swing 桌面应用程序国际化的最佳实践是什么? 2022-01-01
- 如何使 JFrame 背景和 JPanel 透明且仅显示图像 2022-01-01
- 在 Java 中,如何将 String 转换为 char 或将 char 转换 2022-01-01
- 获取数字的最后一位 2022-01-01