字符串的外部文件,而不是硬编码

我有开发一些Android应用程序的经验,可以轻松地使用XML字符串文件存储字符串。 我最后一次开发桌面Java应用程序时,我对字符串进行了硬编码(例如按钮标题,标签等…)。 我已经知道这是不好的做法,我应该将字符串存储在一个文件中。

我不知道该怎么做。

  • 我目前正在Eclipse中开发。 我应该在项目文件夹中粘贴一个文本文件吗?
  • 这是标准吗?
  • 你如何在代码中找到该文件?

是的,您应该使用.properties文件并使用ResourceBundle访问它们。

Eclipse有一个你可能觉得有用的内置重构。

 Source->Externalise Strings 

这将创建一个属性文件,其中的字符串存储为键/值对。

在幕后,它正在使用ResourceBundle

我想如果您这样做,它将不是特定于任何IDE:请参阅通过资源文件加载资源以获取概述。 第一个URL说明了此类查找属性文件的位置。

请参阅ResourceBundle类。

ResourceBundle将首先查找类,如果没有找到,它将查找属性文件。 我们不必指定文件名, ResourceBundle将使用与类相同的机制来构造文件名。 该文件必须具有扩展名.properties

ResourceBundle尝试从当前类路径加载属性文件。

如果属性存储在子目录中,请使用. 而不是/

看一下ResourceBundle 的Javadoc 。 API提供了一种获取特定于语言环境的资源的字符串的方法。