当前位置: 首页 > 面试题库 >

在Java属性文件中表示数组的更好方法

边健
2023-03-14
问题内容

我目前正在制作一个.properties文件,该文件需要加载并转换为数组。但是每个属性键的存在范围可能是0-25。我尝试了一些实现,但我只是坚持这样做。有人有主意吗?

foo.1.filename=foo.txt
foo.1.expire=200

foo.2.filename=foo2.txt
foo.2.expire=10

etc more foo's

bar.1.filename=bar.txt
bar.1.expire=100

我将把文件名/过期对组合成一个数据对象,作为每个父属性元素的数组的一部分,例如 foo[myobject]

属性文件的格式可以更改,我愿意接受。


问题答案:

要么定义一个不会成为潜在值的定界符,要么学习使用XML。

如果您仍然坚持使用属性,请使用一种将返回所有键列表的方法。您的密钥似乎由三部分组成,即组标识符(foo,bar),索引(1、2),然后是元素名称(文件名,expire)。获取所有密钥,将它们分解为它们的组成部分。为每种类型的标识符创建一个列表,在处理列表时,使用标识符来确定要添加到哪个列表。按照您的说明创建配对的元素,然后将其添加到列表中即可!如果索引顺序很重要,则可以将其作为字段添加到配对的元素中,或者在处理之前对键进行排序。



 类似资料:
  • 问题内容: 我有这样的事情: 现在要拥有此数组的总数量,我正在做这样的事情: 当只有一个数组时,这很容易,但是我想对其他具有不同属性名称的数组进行总结。 如果我可以做这样的事情,我会更开心: 但我不知道该如何处理,以至于我将来可以像这样重用它: 回答 我决定使用@ gruff-bunny建议,因此避免原型原型本机对象(数组) 我只是对他的答案做了一些修改,以验证数组,并且sum的值不为null,这

  • 问题内容: 尽管允许读取和写入属性文件,但写入并不会保留格式。并不奇怪,因为它没有绑定到属性文件。 是否有一个类(或某些类)可以保留注释和空白行并在适当位置更新属性值? 问题答案: 它并没有比Apache的Commons Configuration API 更好。这提供了从属性文件,XML,JNDI,JDBC数据源等进行配置的统一方法。 它对属性文件的处理非常好。它允许您从属性中生成一个Prope

  • 问题内容: 我从事一个开源Java项目,我们有很多资源属性文件,其中包含可本地化的消息资源。志愿者将这些文件翻译成20多种语言,而我是一名主要编辑代码的开发人员。 在Java中,不同语言环境的资源文件通过命名约定分组在一起。例如,如果默认(通常是英语)资源是“ foo.properties”,日语资源是“ foo_ja.properties”,法语资源是“ foo_fr.properties”,等

  • 问题内容: 我们需要先致电,然后才能删除文件,例如 当前,在我们所有的项目中,我们都在一些util类中创建一个静态方法来包装此代码。是否有其他方法可以实现相同目的,因此我们不需要在其他每个项目中复制utils文件。 问题答案: 从Java 7开始,可以使用deleteIfExists,它根据是否删除文件返回一个布尔值(或引发Exception)。对于其他文件系统操作,此方法可能不是原子的。此外,如

  • 问题内容: 我有一个定义类属性的基类和一些依赖它的子类,例如 我想用不同的 分配 对这个类进行单元测试,例如空字典,单个项目等。当然这是极其简化的,这与重构我的类或测试无关 我提出的(pytest)测试最终是 这感觉很复杂而且很笨拙-我什至还不完全了解它为什么起作用(尽管我对描述符很熟悉)。模拟会自动将类属性转换为描述符吗? 感觉更合乎逻辑的解决方案不起作用: 要不就 我尝试过的其他变体也不起作用

  • 我想将属性文件中的内容显示为json数组:以下是我的java代码: 我在属性文件中得到了什么: 这是我想要的 我尝试使用Gson和JsonObject,但没有成功。请问我该怎么办?这不是一个重复的问题,因为我正在使用properties类,并且我已经尝试过的建议答案不起作用。