两种在web项目中获取读取文件的路径的方法

来源:互联网 发布:淘宝链接生成器 编辑:程序博客网 时间:2024/06/07 18:14

package day11.lwb.b_resource;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class ResourceDemo extends HttpServlet {
/**
*读取web应用下的资源文件
*例如 properties 
*路径:web项目下: /day11/WebRoot/WEB-INF/db.properties
*
*特别注意:web项目中最好不要用相对路径”.”,它表示的路径只在tomcat服务器的bin目录下
*下面演示了两种在web项目中获取读取文件的路径的方法
*/

public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {    response.setContentType("text/html;charset=utf-8");    Properties prop = null;    try {

// prop = getResource1();
prop = getResource2();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

    String user = prop.getProperty("user");    String password = prop.getProperty("password");    System.out.println("user = "+user);    System.out.println("password = "+password);}**//方法1:getRealPath方法**private Properties getResource1() throws Exception {    String path = this.getServletContext().getRealPath("/WEB-INF/db.properties");    System.out.println(path);    File file = new File(path);    FileInputStream in = new FileInputStream(file);    Properties prop = new Properties();    prop.load(in);    return prop;}**//方法2:getResourceAsStream方法**private Properties getResource2() throws Exception {    InputStream in = this.getServletContext().getResourceAsStream("/WEB-INF/db.properties");    Properties prop = new Properties();    prop.load(in);    return prop;}

}

0 0