我对BeanIO很陌生,它解决了我的大部分问题,但我无法弄清楚如何解决这个问题:
我有一个以下格式的多行固定宽度文件:
BBB001 000 000000
BBB555 001 George
BBB555 002 London
BBB555 003 UK
BBB555 999 000000
BBB555 001 Jean
BBB555 002 Paris
BBB555 003 France
BBB555 004 Europe
BBB555 999 000000
BBB999 000 000000
基本上有一个页眉和页脚,我可以很容易地阅读,因为它们定义得很好。但是,单个记录实际上在多行上,并且记录的末尾是中间有 999 的行(该行上没有其他信息)。我想知道我的 xml 应该是什么,或者我需要覆盖哪些类,以便我可以正确读取这种类型的格式。
我建议使用 lineContinuationCharacter 属性,如 BeanIO 文档中所述。它可能必须配置为回车符和换行符。
尝试这样的事情:
<beanio xmlns="http://www.beanio.org/2012/03"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.beanio.org/2012/03 http://www.beanio.org/2012/03/mapping.xsd">
<stream name="s1" format="fixedlength" lineContinuationCharacter="">
<!-- record layout... -->
</stream>
</beanio>
请注意,我还没有对此进行测试,但根据文档,这应该可以工作。