【发布时间】:2019-05-13 22:50:37
【问题描述】:
我有一个包含多行(行)的文本文件,我正在尝试使用 BeanIO 读取它。该文件如下所示:
阿黛尔|莱昂内尔·里奇|你好|22865
艾德希兰|简单计划|One|11230
在这里,线条代表拥有同名歌曲的多位艺术家。 Adele 和 Lionel Richie 有一首歌叫《Hello》,歌曲 id 是 22865。每行的列数总是 4
我需要解析这一行来创建 2 个 Song 对象
Class Song{
String artistName;
String songName;
int songId;
}
上面的第一行必须给出 2 个 Song 对象:
阿黛尔,你好,22865
莱昂内尔·里奇,你好,22865
这可以使用 BeanIO 实现吗?我已经使用了 BeanIO 的分隔符解析能力来解析但不知道如何获取单行的多条记录
【问题讨论】:
-
由于您的记录没有固定的格式,即固定的列数,您不能使用自动对象映射库。您需要自己解析这些行,使用
BufferedReader和split()应该很容易,假设没有值可以包含|字符。 -
我进一步查看了数据,看起来所有行都有固定的 4 列。我已经编辑了问题以提及这一点
标签: java fileparsing bean-io