2013-07-16 78 views
0

當前正在開發一個項目,我需要使用Java Properties class。要做到這一點,我有一個Config class。這是一個Singleton class供整個程序的其餘部分使用。
它的代碼如下:Android屬性無法寫入文件

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); 
} 
} 

的代碼執行,我知道那是事實,但所有100行conf文件都沒有在config.properties文件表示。執行後config.properties文件爲空白。我如何獲得這段代碼實際上通過Properties從conf讀取數據,然後將其存儲到config.properties中?這兩個文件都位於Android Eclipse項目的assets目錄中。來自conf的示例鍵/值對是: FREE =免費

任何幫助將非常感激!我一直堅持這幾個小時。

回答

0

我不知道Properties類是否以及如何與Android一起使用。但是,爲什麼不用SharedPreferences呢?

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

在內部,SharedPreferences在應用程序目錄中存儲爲xml。