您的位置:首页 > 编程语言 > Java开发

java 配置文件读写

2014-03-01 19:19 344 查看
原文:http://jerrysun.blog.51cto.com/745955/804789  

废话不说,直接上代码。

    读取.properties文件中的配置: 

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


    相信上面这段代码大部分朋友都能看懂,所以就不做过多的解释了。

    向.properties文件中写入配置:
Properties props = new Properties(); 
try { 
    props.load(context.openFileInput("config.properties")); 
    OutputStream out = context.openFileOutput("con
c178
fig.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:表示当前文件可以被其他应用写入。

    注:.properties文件放置的路径为/data/data/packagename/files
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: