在java中从外部文件获取值的最佳方法

时间:2016-08-08 21:43:04

标签: java

我有一个java代码,我目前正在运行jar。此代码检查给定目录中的特定文件,该文件当前在代码中是硬编码的。

提供更大的灵活性,而不是触摸代码。我想让folers列表由不同的文件管理,代码读取此配置文件并每次获取文件夹列表并执行它。

我想知道哪个是在代码之外维护文件夹列表的最佳选项,以便任何人都可以更新它。可以使用属性吗?我们可以动态地从属性文件中获取值

1 个答案:

答案 0 :(得分:0)

在Java中,您拥有java.util.Properties,允许您从外部资源加载平面键/值数据。

如果您需要可以动态更新的内容,那么还有更复杂的Preferences库。这个允许你:

  1. 将数据保存在树形结构中(它是节点树,每个节点都存储自己的键/值首选项)。
  2. 使用基本类型(基本类型,字符串和二进制数据)。
  3. 利用平台相关的" native"存储透明(默认情况下,它将在Unix系统和Windows上使用文件系统)。
  4. 如果需要,请插入您自己的后备存储。
  5. 透明地保持应用程序中执行的任何数据更改。
  6. 注册节点/首选项更改侦听器,并在需要时对任何更改做出反应。
  7. API已经很老了,还没有更新,但并不意味着它已被弃用。它主要用于GUI应用程序(特别是,上次我检查时,IntelliJ IDEA使用Preferences存储其配置)。

    还尝试通过集成现代分布式配置存储(例如 zookeeper etcd <)来恢复我使用名为cross-preferences的项目创建的库。 / em>或 consul )作为java.util.prefs.Preferences的后备存储,并为首选项管理提供Web控制台。