将平面文件转换为Java对象

将平面文件转换为Java对象,java,flat-file,Java,Flat File,有人知道有什么好的库可以将平面文件转换为Java对象吗?我找到了,但我正在寻找替代方案。FFP-平面文件解析库 您也可以尝试一下。 我喜欢注释方法,而且定义自定义字段格式非常简单。快速更新:扁形虫已经有一段时间没有激活了,有一个名为BeanIO的fork: 你想考虑(我是它的作者) 与其他配置不同,它能够解析和创建平面文件,并且使用纯XML模式(因此您不必学习其他配置语法)。 一些用户循环使用相同的XSD来生成webservice和平面文件输出 ps:我最近将代码移动到了我没有使用这个,但是这个

有人知道有什么好的库可以将平面文件转换为Java对象吗?我找到了,但我正在寻找替代方案。

FFP-平面文件解析库

您也可以尝试一下。
我喜欢注释方法,而且定义自定义字段格式非常简单。

快速更新:扁形虫已经有一段时间没有激活了,有一个名为BeanIO的fork:
你想考虑(我是它的作者)

与其他配置不同,它能够解析和创建平面文件,并且使用纯XML模式(因此您不必学习其他配置语法)。 一些用户循环使用相同的XSD来生成webservice和平面文件输出


ps:我最近将代码移动到了

我没有使用这个,但是这个框架似乎提供了从平面文件到Java对象的转换

类似地,它还提供了一个简单而灵活的API

您可以尝试使用-但是它很旧,而且文档不如JFlat或BeanIO好


ApacheCamel和2.10版一样,还有另一个选择,我写的使用Java注释的是JFileHelpers-

注释bean的一个示例:

@FixedLengthRecord()
public class Customer {
    @FieldFixedLength(4)
    public Integer custId;

    @FieldAlign(alignMode=AlignMode.Right)
    @FieldFixedLength(20)
    public String name;

    @FieldFixedLength(3)
    public Integer rating;

    @FieldTrim(trimMode=TrimMode.Right)
    @FieldFixedLength(10)
    @FieldConverter(converter = ConverterKind.Date,
        format = "dd-MM-yyyy")
    public Date addedDate;

    @FieldFixedLength(3)
    @FieldOptional
    public String stockSymbol;
}
那么你所要做的就是:

  FileHelperEngine<Customer> engine =
      new FileHelperEngine<Customer>(Customer.class);
  List<Customer> customers =
      new ArrayList<Customer>();

  customers = engine.readResource(
      "/samples/customers-fixed.txt");
FileHelperEngine引擎=
新文件HelperEngine(Customer.class);
列出客户名单=
新的ArrayList();
customers=engine.readResource(
“/samples/customers fixed.txt”);

如果它类似于CSV(或任何分隔文件)或XML,那么读入它并从中创建对象就很简单了。你能详细说明一下文件格式和你想做什么吗?平面文件是一个相当广泛的类别。文本文件?CSV文件?序列化对象文件?“平面文件”中的内容没有问题,只是想看看是否有更适合我需要的替代方案平面文件是固定宽度列文本文件-正确。我需要解析这些文件。您正在查找FFPOJO: