代码改变世界

Web工程下资源文件的读取

2015-07-23 20:19  怡红院丿无痕  阅读(292)  评论(0)    收藏  举报

servlet中资源文件的读取

    方法一:获取资源文件的数据流

        ServletContext context = this.getServletContext();
        InputStream is = context.getResourceAsStream("/person.properties");
        Properties pt = new Properties();
        pt.load(is);
        System.out.println(pt.getProperty("name"));

   方法二:获取资源文件的绝对路劲,然后利用FileInputStream,与上面的区别在于这里可以获得要操作文件的文件名

        ServletContext context = this.getServletContext();
        String realpath = context.getRealPath("WEB-INF/classes/person.properties");
        System.out.println(realpath);
        String filename = realpath.substring(realpath.lastIndexOf("\\")+1);
        System.out.println(filename);
        
        FileInputStream fis = new FileInputStream(realpath);
        
        Properties pt = new Properties();
        pt.load(fis);
        System.out.println(pt.getProperty("name"));

 

在普通类中获取资源配置文件,因为普通类里面没有ServletContext对象,所以要利用类加载器

         

        URL url = PersonDao.class.getClassLoader().getResource("com/baowei/servlet/person.properties");
        String filepath = url.getPath();
        System.out.println(filepath);
        
        FileInputStream fis = new FileInputStream(filepath);
        Properties pt = new Properties();
        pt.load(fis);
        System.out.println(pt.getProperty("name"));
        System.out.println(pt.getProperty("age"));