ervletContext对象之读取web项目下文件资源
ServletContext对象的作用
作用二:读取web项目下的文件
之前使用IO流就可以读取文件(java项目中)。现在是一个web项目,web项目需要发布到tomcat下才能访问的。获取web项目下的文件如果使用传统的IO就会出现问题(原因:路径中使用的是相对路径,相对的是JRE环境)。
读取文件的代码实现
this.getServletContext().getRealPath(“文件的相对路径”); 这个getRealPath方法可以得到这个文件在磁盘上的 绝对路径
读取文件的方法:
this.getServletContext().getResourceAsStream(“/WEB-INF/class/db.properties”); getResourceAsStream();这个方法给的路径需要精确到文件名称、
/**
* 传统方式读取文件(不好使)
* @throws FileNotFoundException
* @throws IOException
*/
private void test1() throws FileNotFoundException, IOException {
// 传统方式:
Properties properties = new Properties();
// 创建一个文件的输入流:
InputStream is = new FileInputStream("classes/db.properties");
properties.load(is);
// 获取数据:
String driverClassName = properties.getProperty("driverClassName");
String url = properties.getProperty("url");
String username = properties.getProperty("username");
String password = properties.getProperty("password");
// 输出到控制台
System.out.println(driverClassName);
System.out.println(url);
System.out.println(username);
System.out.println(password);
}