• Java 读写Properties配置文件


    感谢原文作者:旭东
    原文链接:https://www.cnblogs.com/xudong-bupt/p/3758136.html

    1.Properties类与Properties配置文件

    Properties类继承自Hashtable类并且实现了Map接口,也是使用一种键值对的形式来保存属性集。不过Properties有特殊的地方,就是它的键和值都是字符串类型。

    2.Properties中的主要方法

    (1)load(InputStream inStream)

    这个方法可以从.properties属性文件对应的文件输入流中,加载属性列表到Properties类对象。如下面的代码:

    Properties pro = new Properties();
    FileInputStream in = new FileInputStream("a.properties");
    pro.load(in);
    in.close();
    

    (2)store(OutputStream out, String comments)

    这个方法将Properties类对象的属性列表保存到输出流中。如下面的代码:

    FileOutputStream oFile = new FileOutputStream(file, "a.properties");
    pro.store(oFile, "Comment");
    oFile.close();
    

    如果comments不为空,保存后的属性文件第一行会是#comments,表示注释信息;如果为空则没有注释信息。

    注释信息后面是属性文件的当前保存时间信息。

    (3)getProperty/setProperty

    这两个方法是分别是获取和设置属性信息。

    3.代码实例

    属性文件a.properties如下:

    name=root
    pass=liu
    key=value
    

    读取a.properties属性列表,与生成属性文件b.properties。代码如下:

    import java.io.BufferedInputStream;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.InputStream; 
    import java.util.Iterator;
    import java.util.Properties; 
    
    public class PropertyTest {
        public static void main(String[] args) { 
            Properties prop = new Properties();     
            try{
                //读取属性文件a.properties
                InputStream in = new BufferedInputStream (new FileInputStream("a.properties"));
                prop.load(in);     ///加载属性列表
                Iterator<String> it=prop.stringPropertyNames().iterator();
                while(it.hasNext()){
                    String key=it.next();
                    System.out.println(key+":"+prop.getProperty(key));
                }
                in.close();
                
                ///保存属性到b.properties文件
                FileOutputStream oFile = new FileOutputStream("b.properties", true);//true表示追加打开
                prop.setProperty("phone", "10086");
                prop.store(oFile, "The New properties file");
                oFile.close();
            }
            catch(Exception e){
                System.out.println(e);
            }
        } 
    }
    

    补充:https://www.cnblogs.com/hafiz/p/5876243.html

  • 相关阅读:
    SAP S/4HANA extensibility扩展原理介绍
    SAP CRM系统订单模型的设计与实现
    使用nodejs代码在SAP C4C里创建Individual customer
    SAP Cloud for Customer Account和individual customer的区别
    Let the Balloon Rise map一个数组
    How Many Tables 简单并查集
    Heap Operations 优先队列
    Arpa’s obvious problem and Mehrdad’s terrible solution 思维
    Passing the Message 单调栈两次
    The Suspects 并查集
  • 原文地址:https://www.cnblogs.com/tfxz/p/12621507.html
Copyright © 2020-2023  润新知