4.Properties文件的加载和使用

 一.Properties简介

Properties 类继承自HashTable,提供的方法很像Map的实现类HashMap。它在 Java 编程的早期就有了,并且几乎没有什么变化。J2SE 的 Tiger 版本增强了这个类,不仅可以用它在单独一行中指定用等号分隔的多个键-值对(其中键和值是用等号分隔的),还可以用XML 文件装载和保存这些键-值对

二.Properties 的加载和简单的使用

1.路径存放

2.信息配置 

name = Lily
age   = 22

3.简单的加载和使用

package com.my.utils;

import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;

public class LoadProp {
    
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Properties prop = new Properties();
        InputStream in = LoadProp.class.getClassLoader().getResourceAsStream("config/prop.properties");
        try {
            
            prop.load(in);
            System.out.println(prop.get("name"));
            prop.setProperty("name", "Lucy");
            System.out.println(prop.get("name"));
            
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }finally {
            try {
                in.close();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }

    }

}

4.使用 java.util.Enumeration 获取所有key

package com.my.utils;

import java.io.IOException;
import java.io.InputStream;
import java.util.Enumeration;
import java.util.Properties;

public class LoadProp {

    @SuppressWarnings("unchecked")
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Properties prop = new Properties();
        InputStream in = LoadProp.class.getClassLoader().getResourceAsStream("config/prop.properties");
        Enumeration<String> en = null;
        String key = null;
        try {            
            prop.load(in);        
            
            en = (Enumeration<String>) prop.propertyNames();
            while (en.hasMoreElements()) {
                key = (String) en.nextElement();
                System.out.println(key);                
            }            
            
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }finally {
            try {
                in.close();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    }

}

2018-06-08 15:00

2020年5月1日 16:48:08

原文地址:https://www.cnblogs.com/lukelook/p/8660418.html