0

我对 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 应该是什么,或者我需要覆盖哪些类,以便我可以正确读取这种格式。

4

1 回答 1

0

我建议使用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>

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

于 2015-04-22T06:54:43.597 回答