类装载器读取properties资源文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了类装载器读取properties资源文件相关的知识,希望对你有一定的参考价值。

 

类装载器

public class userDAO {
    
    private static Properties dbconfig =new Properties();
    
    static{
        try {
              InputStream instream =userDAO.class.getClassLoader().getResourceAsStream("db.propertites");
              dbconfig.load(instream);
        } catch (Exception e) {
            throw new ExceptionInInitializerError(e);
        }
    }

    public void update() throws IOException {        
      System.out.println(dbconfig.getProperty("url"));        
    }
    
    public void find() throws IOException {        
             
        }
    
    public void delete() throws IOException {        
            
        }

}

  

使用类装载器读取文件的弊端:

1.文件不能太大,因为它是以装载类的方式一次性加入内存中

2.类装载器只会加载一次,就是说不能显示文件的更新操作

 

如果需要读到实时数据,就不能通过类装载器来读文件,需要通过普通的文件路径的方式

public class DAO {
    
    public void update() throws IOException{
      
        String path = DAO.class.getClassLoader().getResource("db.properties").getPath();
        FileInputStream in= new FileInputStream(path);
        
        Properties pros = new Properties();
        pros.load(in);
        
        String url = pros.getProperty("url");    

    }

}

  

 

参考资料:

http://www.cnblogs.com/tech-bird/p/3843832.html

以上是关于类装载器读取properties资源文件的主要内容,如果未能解决你的问题,请参考以下文章

好用的properties资源文件读取工具类

solr分布式索引实战分片配置读取:工具类configUtil.java,读取配置代码片段,配置实例

深入理解JVM——类加载器原理

Load Class File Operational Principle

java web工程,读取配置文件路径问题

加载读取资源的方式(底层都是以流的方式获取资源,具体是通过类加载器进行加载,通过流的方式进行读取,从而获取资源)