Java web开发中读取资源文件
java web中的类有servlet 和非servlet两种,针对这两种类就有相对应的两种读取资源文件的方式
1.在servlet中读取文件的方式:
InputStream in=this.getServletContext().getResourceAsStream("/WEB-INF/classes/db.properties");
java.util.Properties properties=new java.util.Properties();
properties.load(in); //得到的是map集合
String url=properties.getProperty("url");
String username=properties.getProperty("username");
String password=properties.getProperty("password");
2.非servlet中读取资源文件的方式:
//如果读取文件不是servlet的话,就只能通过类装载器去读了,
//注意类装载器将数据装载到内存中一次,难以得到更新后的数据文件,如果想得到更新后的数据,
//需要通过getresource 得到路径再用传统方式读取
InputStream inputStream=Userdao.class.getClassLoader().getResourceAsStream("db.properties");
Properties properties=new Properties();
properties.load(inputStream);
System.out.println(properties.getProperty("url"));
如果想读取更新后的资源文件,则:
先得到资源绝对路径:String path=Userdao.class.getClassLoader().getResource().getPath();
然后通过传统方式读取文件: FileInputStream in=new FileInputStream(path);
Properties properties=new Properties();
properties.load(inputStream);
System.out.println(properties.getProperty("url"));