问题标签 [bean-io]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
589 浏览

java - 为什么测试类的属性在 2 个测试之间变为空?

上下文:我试图创建一个代表我读者的用户指南的 junit 测试。所以为了做到这一点,我创建了一个 init 方法,一个测试我的假设的测试:资源被初始化,创建一个阅读器,最后读取文件内容。

(我的junit测试的第二个目标是通过假设和顺序测试获得更多经验)

我的问题:在创建和阅读之间,我的阅读器(这是我的测试类的一个属性)变为空(参见私有 BeanioReader 阅读器)。

TECHNOS => org.junit.jupiter:5.4.1 + beanio:2.1.0 + commons-lang3:3.8.1 + jdk1.8.0_102

这是我的读者和相应的junit测试。

我希望明白为什么...

测试结果,BeanIoReaderTest:

安慰:

0 投票
1 回答
134 浏览

bean-io - 如何抑制 BeanIO XML 生成中的根元素?

使用 BeanIO 生成 XML 文件时,StreamBuilder 名称用作根元素。如何抑制这个根元素?

例子:

Test班级:

生成的 XML 文件:

我不想builder_name被显示为根元素。我希望Test元素成为根。我怎样才能做到这一点?

0 投票
1 回答
505 浏览

java - BeanIO:单行文件中的多条记录

我有一个包含多行(行)的文本文件,我正在尝试使用 BeanIO 读取它。该文件如下所示:

阿黛尔|莱昂内尔·里奇|你好|22865

Ed Sheeran|简单计划|一个|11230

在这里,线条代表拥有同名歌曲的多个艺术家。Adele 和 Lionel Richie 有一首歌叫《Hello》,歌曲 id 是 22865。每行的列数总是 4

我需要解析这一行来创建 2 个 Song 对象

上面的第一行必须给出 2 个 Song 对象:

阿黛尔,你好,22865

莱昂内尔·里奇,你好和 22865

这可以使用 BeanIO 吗?我已经使用了 BeanIO 的分隔符解析能力来解析,但不确定如何获取单行的多个记录

0 投票
1 回答
939 浏览

bean-io - 定长文件格式

我正在从固定长度文件中读取数据。

这是文件内容:
Joe Smith Developer 075000 10012009

这是映射文件:

输出:

代码正在读取文件并成功转换为 pojo。现在客户需要我正在努力实施的奇怪要求。

"Joe Smith Developer 075000 10012009"如果最后一个值没有出现或部分出现,则从文件内容中,代码应该成功读取内容。

例如:如果文件的内容如"Joe Smith Developer 0750". 这里工资长度为 4,但我们在映射文件中声明为 6,并且没有雇用日期数据。尽管如此,代码应该可以成功读取它,就像它应该将薪水设为 0750 并将雇佣日期设为空一样。

我怎样才能读到这个?

0 投票
1 回答
1047 浏览

bean-io - 如何使用bean io将固定长度文件写入CSV文件,所有值都出现在记录的不同列中

此代码能够将数据写入 csv 文件,但唯一的问题是数据仅写入单列。

我希望数据出现在不同的列中。我是 bean io 的新手,无法弄清楚。

我尝试了下面给定的代码,但无法以正确的格式获得输出:

我想要 CSV 文件的不同列中的每个记录值,但目前它仅在单个列中出现,请帮助。

0 投票
1 回答
591 浏览

java - BeanIO - 在编组以固定宽度文件时禁用填充或跳过字段(如果为空)

我正在尝试使用 BeanIO 库编写一个固定宽度的文件。这是有问题的记录:

请注意,creditCardAcccompanyId + sublevelId在文件中保持相同的位置。根据用例,我们可以设置creditCardAccfield 或companyIdand sublevelId。现在对于我的用例,我想设置creditCardAcc,但问题是companyIdandsublevelId用空格填充并覆盖creditCardAcc字段,即使它们设置为null

一种解决方案是将这些字段拉入两个扩展的子类KeySegment中,并改为编组子类。但是,我想知道是否有更好的本机解决方案可以用来完成此任务。例如,如果字段为空,有没有办法禁用填充?

谢谢。

0 投票
2 回答
1137 浏览

java - 想从 beanIO 字段名称标签写入 csv 中的标头

我想在 csv 文件中写一个标题,因为我的文本文件不包含任何标题,所以我想从 beanIO 字段名称标签写入它

我有一个带有两个流的 beanIO,一个用于读取,另一个用于写入

这是输入文件.... textInput.txt-
1john dew BA xxx
1sam hart MA yyy

预期产出-

Record,FirstName,LastName,Title,Filler
1,john,dew,BA,xxx
1,sam,hart,MA,yyy

0 投票
1 回答
118 浏览

java - 写一个标题,以便段默认名称也根据最大出现次数打印

现在,我可以编写标题但无法打印段内的标题名称有什么办法吗?

输入文件-

它没有在段内打印默认名称。
输出文件-

爪哇:

预期产出-

Record,FirstName,LastName,origin_of_error,fld_name,origin_of_error,fld_name,origin_of_error,fld_name,Title,Filler
1,john,dew,22,85,22,85,22,85,BA,xxx
1,sam,hart,78, 45,78,45,78,45,MA,yyy

0 投票
0 回答
208 浏览

java - BeanIo 无法读取 xml 中的特殊字符

我是 BeanIO 的新手。我在处理下面的输入 xml 文件时遇到问题,因为它在 TrackAndTrace 属性中包含 &:

我的 beanio xml 如下所示:

处理文件的代码如下:

如果在输入 xml 文件中 & 被 url 编码值 %26 替换,则相同的代码可以正常工作。请让我知道如何在 beanio 的情况下进行 URL 编码。

我尝试的代码如下,但没有帮助:

0 投票
1 回答
1278 浏览

java - Beanio流到处理xml平面文件中的内部元素列表

我是 beanio 的新手。有人可以帮我解决这个问题。我正在尝试处理输入文件,如下所示,其中 Data 元素中存在的 Item 元素很多:

我在 beanio xml 中的流如下所示:

根据我上面的流,只处理第一个 Item 元素值并且程序退出。有没有办法,我可以处理所有的 Item 元素?下面是代码,我用来填充 BeanReader 对象:

我尝试映射 xml 如下所示。但是,现在没有从输入平面 xml 文件中检索到任何记录。