廢話不說,直接上代碼。
讀取.properties文件中的配置:
ide
- String strValue = "";
- Properties props = new Properties();
- try {
- props.load(context.openFileInput("config.properties"));
- strValue = props.getProperty (keyName);
- System.out.println(keyName + " "+strValue);
- }
- catch (FileNotFoundException e) {
- Log.e(LOG_TAG, "config.properties Not Found Exception",e);
- }
- catch (IOException e) {
- Log.e(LOG_TAG, "config.properties IO Exception",e);
- }
相信上面這段代碼大部分朋友都能看懂,因此就不作過多的解釋了。spa
向.properties文件中寫入配置:get
- Properties props = new Properties();
- try {
- props.load(context.openFileInput("config.properties"));
- OutputStream out = context.openFileOutput("config.properties",Context.MODE_PRIVATE);
- Enumeration<?> e = props.propertyNames();
- if(e.hasMoreElements()){
- while (e.hasMoreElements()) {
- String s = (String) e.nextElement();
- if (!s.equals(keyName)) {
- props.setProperty(s, props.getProperty(s));
- }
- }
- }
- props.setProperty(keyName, keyValue);
- props.store(out, null);
- String value = props.getProperty(keyName);
- System.out.println(keyName + " "+value);
- }
- catch (FileNotFoundException e) {
- Log.e(LOG_TAG, "config.properties Not Found Exception",e);
- }
- catch (IOException e) {
- Log.e(LOG_TAG, "config.properties IO Exception",e);
- }
上面這段代碼,跟讀取的代碼相比,多了一個if判斷以及一個while循環。主要是由於Context.Mode形成的。由於個人工程涉及到多個配置信息。因此只能是先將全部的配置信息讀取出來,而後在寫入配置文件中。
Context.Mode的含義以下:
1.MODE_PRIVATE:爲默認操做模式,表明該文件是私有數據,只能被應用自己訪問,在該模式下,寫入的內容會覆蓋原文件的內容。
2.MODE_APPEND:表明該文件是私有數據,只能被應用自己訪問,該模式會檢查文件是否存在,存在就往文件追加內容,不然就建立新文件。
3.MODE_WORLD_READABLE:表示當前文件能夠被其餘應用讀取。
4.MODE_WORLD_WRITEABLE:表示當前文件能夠被其餘應用寫入。string
注:.properties文件放置的路徑爲/data/data/packagename/files
it