Android属性不写入文件

时间:2013-07-16 05:02:23

标签: java android eclipse

目前正在开展我需要使用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 =自由

任何帮助都将非常感谢!我已经被困在这几个小时了。

1 个答案:

答案 0 :(得分:0)

我不知道Properties课程是否以及如何与Android配合使用。但是,为什么不使用SharedPreferences呢?

SharedPreferences prefs = PreferenceManager.getDefaulSharedPreferences();
prefs.edit().putString("key", "myval").commit()

在内部,SharedPreferences在app dir中存储为xml。