zoukankan      html  css  js  c++  java
  • JAVA操作属性文件,可进行读 写 更改

      
    JAVA操作属性文件
    /*
    操作属性文件,可以为我们的程序带来更方便的移植性,下面是一个示例,可以读、写、更改属性
    读采用了两种方式,一种是采用Properties类,另外一种是采用资源绑定类ResourceBundle类,
    下面是源程序,里面有详细的注释:
    */
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.util.Properties;
    import java.util.ResourceBundle;
    /**
     *对属性文件(xx.properties)的操作
     *注:属性文件一定要放在当前工程的根目录下,也就是放在与src目录在同一个目录下(我的JDevelop
     *是这样的)
     */
    publicclass OperatePropertiesFile {
        public OperatePropertiesFile() {
        }
        /**
         *采用Properties类取得属性文件对应值
         *@parampropertiesFileNameproperties文件名,如a.properties
         *@parampropertyName属性名
         *@return根据属性名得到的属性值,如没有返回""
         */
        private String getValueByPropertyName(String propertiesFileName,String propertyName) {
            String s="";
            Properties p=new Properties();//加载属性文件读取类
            FileInputStream in;
            try {
                //propertiesFileNametest.properties
                in = new FileInputStream(propertiesFileName);//以流的形式读入属性文件
                p.load(in);//属性文件将该流加入的可被读取的属性中
                in.close();//读完了关闭
                s=p.getProperty(propertyName);//取得对应的属性值
            } catch (Exception e) {
                e.printStackTrace();
            }
            return s;
        }
        /**
         *采用ResourceBundel类取得属性文件对应值,这个只能够读取,不可以更改及写新的属性
         *@parampropertiesFileNameWithoutPostfixproperties文件名,不带后缀
         *@parampropertyName属性名
         *@return根据属性名得到的属性值,如没有返回""
         */
        private String getValueByPropertyName_(String propertiesFileNameWithoutPostfix,String propertyName) {
            String s="";
            //如属性文件是test.properties,那此时propertiesFileNameWithoutPostfix的值就是test
            ResourceBundle bundel = ResourceBundle.getBundle(propertiesFileNameWithoutPostfix);
            s=bundel.getString(propertyName);
            return s;
        }
        /**
         *更改属性文件的值,如果对应的属性不存在,则自动增加该属性
         *@parampropertiesFileNameproperties文件名,如a.properties
         *@parampropertyName属性名
         *@parampropertyValue将属性名更改成该属性值
         *@return是否操作成功
         */
        privateboolean changeValueByPropertyName(String propertiesFileName,String propertyName,String propertyValue) {
            boolean writeOK=true;
            Properties p=new Properties();
            FileInputStream in;
            try {
                in = new FileInputStream(propertiesFileName);
                p.load(in);//
                in.close();
                p.setProperty(propertyName,propertyValue);//设置属性值,如不属性不存在新建
                //p.setProperty("testProperty","testPropertyValue");
                FileOutputStream out=new FileOutputStream(propertiesFileName);//输出流
                p.store(out,"Just Test");//设置属性头,如不想设置,请把后面一个用""替换掉
                out.flush();//清空缓存,写入磁盘
                out.close();//关闭输出流
            } catch (Exception e) {
                e.printStackTrace();
            }
            return writeOK;
        }
        publicstaticvoid main(String[] args) {
            OperatePropertiesFile operatePropertiesFile = new OperatePropertiesFile();
            operatePropertiesFile.changeValueByPropertyName("db.properties","DBLocation","D://Palfinger//palfinger.mdb");
        }
    }
    假如有一个属性文件db.properties如下: 
    DBLocation=D/://Palfinger//palfinger.mdb

    再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow

  • 相关阅读:
    Unix命令大全
    vs2008 与 IE8出现的兼容性问题
    Java 创建文件、文件夹以及临时文件
    如何修改Wamp中mysql默认空密码
    PAT 乙级真题 1003.数素数
    Tags support in htmlText flash as3
    DelphiXE4 FireMonkey 试玩记录,开发IOS应用 还是移植
    10 Great iphone App Review sites to Promote your Apps!
    HTML tags in textfield
    Delphi XE4 IOS 开发, "No eligible applications were found“
  • 原文地址:https://www.cnblogs.com/skiwdhwhssh/p/10341792.html
Copyright © 2011-2022 走看看