gpt4 book ai didi

java - 在 Java 中解析平面文件

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:19:39 26 4
gpt4 key购买 nike

我有一个平面文件,其中数据以基于位置的格式存储,例如。从 1 到 5 - 存储一些 x 值,从 6 到 13 - 存储一些 y 值,从 14 到 18 - 存储一些 z 值等等。我需要解析文件并获取这些值并填充一个 bean。

任何人都可以告诉我最好的方法是我可以如何解析文件。我正在使用 Java 6。

最佳答案

非复杂的、固定长度的行在普通 java 中应该很容易。

为什么不直接使用普通的基本子字符串呢?我已经看到它用于解析相当大的平面文件,而且它并不像听起来那么糟糕。也很容易从中获得概览。

myObject.setX(Integer.parseInt(input.substring(0,4)));
myObject.setY(input.substring(5,12);
..

如果您真的很想将几个大型平面文件映射到 java,您可能需要使用一些库。

Smooks让我们在 XML 文件中指定映射,并让 smooks 运行时从字段映射到对象。还有一个用于图形映射的 Eclipse IDE。这个库有点重量级。

我真的很喜欢 Bindy Apache Camel 中的组件.它需要引入消息路由器的开销,但可以注释普通 java 类并一次性完成映射和 java 类。

// Like this
@FixedLengthRecord(length=54, paddingChar=' ')
public static class Order {

@DataField(pos = 1, length=2)
private int orderNr;

@DataField(pos = 3, length=2)
private String clientNr;

关于java - 在 Java 中解析平面文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14324450/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com