目前正在开展我需要使用Java Properties class
的项目。为此,我有一个Config class
。这是一个Singleton class
,用于整个程序的其余部分。
其代码如下:
public class Config {
private static Config instance = new Config();
public Properties prop = new Properties();
static {
instance.readConfig();
}
private Config () {
}
public void readConfig() {
try {
URL url = instance.getClass().getResource("/conf");
prop.load(url.openStream());
prop.setProperty("me","cool");
url = instance.getClass().getResource("/config.properties");
OutputStream out = url.openConnection().getOutputStream();
prop.store(out, "Config file");
out.close();
}
catch (Exception e) {
Log.d("Config", "Failed to create properly initialized config class");
}
}
public static Config getInstance() {
return instance;
}
public String getProperty (String key) {
return prop.getProperty(key);
}
}
代码执行,我知道事实上,但是conf文件的所有100行都没有在config.properties
文件中表示。执行后config.properties
文件为空。如何让这段代码实际从属性中读取conf中的数据,然后将其存储到config.properties中?这两个文件都位于Android Eclipse项目的assets目录中。来自conf的示例键/值对是:
FREE =自由
任何帮助都将非常感谢!我已经被困在这几个小时了。
答案 0 :(得分:0)
我不知道Properties
课程是否以及如何与Android配合使用。但是,为什么不使用SharedPreferences
呢?
SharedPreferences prefs = PreferenceManager.getDefaulSharedPreferences();
prefs.edit().putString("key", "myval").commit()
在内部,SharedPreferences
在app dir中存储为xml。