是否有一种聪明的方法来使用camel和smooks编写固定长度的平面文件

时间:2013-11-15 05:32:48

标签: java spring apache-camel smooks fixed-length-record

是否有任何框架/库可以帮助在java中编写固定长度的平面文件?

我想把一个bean /实体的集合写成一个平面文件而不用担心转换,填充,对齐,填充等等

例如,我想解析一个像:

的bean
public class Entity{
    String name = "name"; // length = 10; align left; fill with spaces
    Integer id = 123; // length = 5; align left; fill with spaces
    Integer serial = 321 // length = 5; align to right; fill with '0'
    Date register = new Date();// length = 8; convert to yyyyMMdd
}

进入Flatfile

Jaya       123 0032120110505
Prathiksha5000 0122120110504
Prabha       1 0000120101231
...

Smooks Fixed length使用此功能,我可以将文件读取为POJO,列表或地图。

问题是我无法找到任何将POJO写入FixedLenthFile的过程。

还建议有没有其他方法可以使用camel,spring Project来处理FixedLengthFlatFIle。

目前在我们的项目中,我们使用smooks,camel,spring用于EDI到POJO和POJO到EDI。现在我们必须为FixedLengthFlatFile Processing添加功能。

1 个答案:

答案 0 :(得分:2)

我找到了答案。

WRT link

可以使用平面文件的bindy或beanio

Camel Bindy

Camel Beanio

Smooks无法与Camel 2.10一起使用(AFAIR)。有一张票 向smooks团队报告解决了这个问题,但他们还没有这样做, 在很长一段时间内没有发布Smooks的新版本。我会 尽量避免使用Smooks,直到项目恢复生机(如果它 一样)。