java属性文件properties常用操作工具类详解编程语言

对于java.util.Properties类,通常我们只需要做到以下3个学习目标:

1、认识properties文件,理解其含义,会正确创建properties文件。

2、会使用java.util.Properties类来操作properties文件。

3、掌握相对路径,能正确书写一个properties文件的相对路径。

而在平时的工作中,会遇到各种各样的需求,以下是一个封装。

import java.io.File;   
import java.io.FileInputStream;   
import java.io.IOException;   
import java.io.InputStream;   
import java.util.Properties;   
   
/**  
 * properties 文件操作工具类  
 * @author Herman.Xiong  
 * @date 2015-1-29 下午04:27:19  
 * @version V3.0  
 * @since jdk 1.6,tomcat 6.0  
 */   
public class PropertiesUtil {   
    private static Properties prop = new Properties();    
    private static InputStream in;   
    private static final String path="src/com/herman/config/conf.properties";   
       
    /**  
     * 加载  
     */   
    static{   
        init();   
    }   
       
    /**  
     * 初始化  
     */   
    private static void init(){   
        try {   
            in=new FileInputStream(new File(path));   
            prop.load(in);   
        } catch (Exception e) {   
            e.printStackTrace();   
        }   
    }   
       
    /**  
     * 关闭InputStream  
     * @author Herman.Xiong  
     * @date 2015-1-30 上午09:41:04  
     */   
    private static void close(){   
        try {   
            if(null != in)   
                in.close();    
        } catch (Exception e) {   
            e.printStackTrace();   
        }   
    }   
       
    /**  
     * 重新加载Properties  
     * @author Herman.Xiong  
     * @date 2015-1-30 上午09:41:04  
     */   
    public static void reload(){   
        close();   
        prop.clear();//清除所有装载的 键 - 值对   
        init();   
    }   
       
    /**  
     * 删除所有键值  
     * @author Herman.Xiong  
     * @date 2015-1-30 上午09:42:04  
     */   
    public static void removeAll(){   
        close();   
        File file=new File(path);   
        if(file.exists())   
            file.delete();   
        try {   
            if(!file.exists())   
                new File(path).createNewFile();   
        } catch (IOException e) {   
            e.printStackTrace();   
        }   
    }   
       
    /**  
     * 输出所有内容到控制台  
     * @author Herman.Xiong  
     * @date 2015-1-30 上午09:42:33  
     */   
    public static void outList(){   
        prop.list(System.out);   
    }   
       
    public static void main(String[] args) {   
        System.out.println(prop.getProperty("abc"));   
        outList();   
        reload();   
        outList();   
        removeAll();   
        System.out.println("重新加载.....");   
        outList();   
    }   
}  

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/10625.html

(0)
上一篇 2021年7月19日 10:21
下一篇 2021年7月19日 10:21

相关推荐

发表回复

登录后才能评论