如何使用 BeanIO 处理多行固定长度文件



我对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="&#x10;&#x13;">
    <!-- record layout... -->
  </stream>
</beanio>

请注意,我还没有对此进行测试,但根据文档,这应该可以工作。

相关内容

  • 没有找到相关文章

最新更新