【问题标题】:read only some properties using ResourceBundle使用 ResourceBundle 只读一些属性
【发布时间】:2016-03-21 19:05:30
【问题描述】:

我有一个大文件,其中包含在语言环境中指定的消息。例如:

book.registration.error.service = ..
book.registration.error.empty.book = ..
book.registration.error.file.format.book = ..

publisher.register.firstpublisher = ..
publisher.register.publisherNameUa = ..
publisher.register.nameRu = ..
publisher.register.NameEn = ..

有很多消息。要阅读它们,我使用

java.util.ResourceBundle.getBundle(messagesLocation, locale)

但有了 whis 我会阅读所有消息。有什么方法可以只读取一段消息。例如以“book”开头的只读消息?

【问题讨论】:

  • 为什么这么糟糕?我想你保留那个包以备后用?

标签: java properties resourcebundle


【解决方案1】:

实现您想要的最佳方法是将非常大的资源包分解为多个包 - 并将所有“书籍”资源包放入一个特定的包中。

您可以自己解析文件,但您仍然必须阅读整个文件(除非已排序),但这似乎违背了您要达到的目的。

通常,只有在单个捆绑包出现内存或性能问题时,您才会走这条路 - 如果是内存问题,拆分捆绑包可能会有所帮助;如果是性能问题,在后台线程上初始化你的包可能会有所帮助。

如果它不明显 - 你应该总是缓存包!每次都重新创建你的包是一种浪费——如果你想支持动态变化的资源,只需在资源实际变化时使缓存失效。

【讨论】:

猜你喜欢
  • 2012-12-08
  • 1970-01-01
  • 2014-04-12
  • 2010-11-22
  • 2015-05-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多