• Java中的Properties类


    Java中的Properties类

    前言

    Java中的Properties类属于配置文件,以键值对的方式存储,可以看做是属性集。
    Properties类(Java.util.Properties)继承Hashtable(Java.util.Hashtable)

    主要方法

    • getProperty ( String key):用指定的键在此属性列表中搜索属性。也就是通过参数 key ,得到 key 所对应的 value。
    • load ( InputStream inStream):从输入流中读取属性列表(键和值)。通过对指定的文件(比如test.properties 文件)进行装载来获取该文件中的所有键值对。以供 getProperty ( String key) 来搜索。
    • setProperty ( String key, String value):他通过调用父类的put方法来设置键值对。
    • store ( OutputStream out, String comments):将此 Properties 表中的属性列表(键和值)写入输出流。与 load 方法相反,该方法将键值对写入到指定的文件中去。
    • clear ():清除所有装载的键值对。该方法由父类中提供。
    • Enumeration<?> propertyNames():返回Properties中的key值。

    读取Properties文件

    1. 基于ClassLoder读取配置文件
      • 该方式只能读取类路径下的配置文件,有局限但是如果配置文件在类路径下比较方便
    
             Properties properties = new Properties();
        	         // 使用ClassLoader加载properties配置文件生成对应的输入流
        	 InputStream in = PropertiesMain.class.getClassLoader().getResourceAsStream("config/config.properties");
         	         // 使用properties对象加载输入流
        	 properties.load(in);
        	         //获取key对应的value值
         	 properties.getProperty(String key);
    
    1. 基于 InputStream 读取配置文件
    	     Properties properties = new Properties();
        	         // 使用InPutStream流读取properties文件
    	     BufferedReader bufferedReader = new BufferedReader(new FileReader("E:/config.properties"));
         	 properties.load(bufferedReader);
         	         // 获取key对应的value值
        	 properties.getProperty(String key);
    
    1. 通过 java.util.ResourceBundle 类来读取
    • 通过 ResourceBundle.getBundle() 静态方法来获取(ResourceBundle是一个抽象类),这种方式来获取properties属性文件不需要加.properties后缀名,只需要文件名即可
    	  properties.getProperty(String key);
    	  //config为属性文件名,放在包com.test.config下,如果是放在src下,直接用config即可  
    	  ResourceBundle resource = ResourceBundle.getBundle("com/test/config/config");
    	  String key = resource.getString("keyWord"); 
    	              
    
    • 从InputStream中读取,获取InputStream的方法和上面一样.

    相关实例

    • 获取JVM的系统属性
      • Java虚拟机(JVM)有自己的系统配置文件(system.properties),我们可以通过下面的方式来获取
    import java.util.Properties;
    
    public class ReadJVM {
        public static void main(String[] args) {
            Properties pps = System.getProperties();
            pps.list(System.out);
        }
    }
    
    • 读取一个Perperties文件中的全部信息
    public static void main(String[] args) throws Exception, IOException {
    		Properties prop = new Properties();
    		prop.load(new FileReader("config/proper.porperties"));
    		Enumeration<?> propertyNames = prop.propertyNames();
    		while(propertyNames.hasMoreElements()){
    			String key = (String) propertyNames.nextElement();
    			System.out.println(key + "=" + prop.getProperty(key));
    		}
    		
    

    相关参考:

    Java中Properties类的操作
    读取Properties文件的3中方式


    以上

    @Fzxey

  • 相关阅读:
    TP6框架中如何无刷新上传文件
    TP6框架设置验证码的宽度和高度后,验证码显示不全
    TP6模板缓存问题
    TP6管理后台实战第五天文章管理
    20211027技术人为什么建议写博客
    TP6管理后台实战第六天系统管理
    博客园自定义菜单
    xcat无法连接服务器
    lsf安装后配置
    xcat网络无盘启动——添加自定义安装包
  • 原文地址:https://www.cnblogs.com/fzxey/p/10841551.html
Copyright © 2020-2023  润新知