问题描述:
java web工程中的普通java类需要读取配置文件,例如读取classes下面a.txt文件
String path = BusThreadFilter.class.getClassLoader().getResource("").toURI().getPath();
path = /C:/Program Files/Apache/Tomcat 6.0/webapps/fee/WEB-INF/classes/
开始一看觉得不对,手动改成 C:\Program Files\Apache\Tomcat 6.0\webapps\fee\WEB-INF\classes\ (其实并不需要手动修改这一步骤)
部署运行出问题,提示fee\WEB-INF\classes\拒绝访问
问题解决:
在一般的类中读取:
在servlet中读取:
引自[url]http://haotw.iteye.com/blog/963425[/url]
java web工程中的普通java类需要读取配置文件,例如读取classes下面a.txt文件
String path = BusThreadFilter.class.getClassLoader().getResource("").toURI().getPath();
path = /C:/Program Files/Apache/Tomcat 6.0/webapps/fee/WEB-INF/classes/
开始一看觉得不对,手动改成 C:\Program Files\Apache\Tomcat 6.0\webapps\fee\WEB-INF\classes\ (其实并不需要手动修改这一步骤)
部署运行出问题,提示fee\WEB-INF\classes\拒绝访问
问题解决:
在一般的类中读取:
// action配置文件路径
public static final String ACTIONPATH = "actions.properties";
// 属性文件
public static final Properties prop = new Properties();
// 获取当前类加载的根目录,如:/C:/Program Files/Apache/Tomcat 6.0/webapps/fee/WEB-INF/classes/
String path = UriFilter.class.getClassLoader().getResource("").toURI().getPath();
// 把文件读入文件输入流,存入内存中
FileInputStream fis = new FileInputStream(new File(path + ACTIONPATH));
//加载文件流的属性
prop.load(fis);
在servlet中读取:
// action配置文件路径
public static final String ACTIONPATH = "WEB-INF/classes/actions.properties";
// 属性文件
public static final Properties prop = new Properties();
// 获取servlet上下文的绝对路径,如:C:\Program Files\Apache\Tomcat 6.0\webapps\fee\
String path = getServletContext().getRealPath("\\");
// 把文件读入文件输入流,存入内存中
FileInputStream fis = new FileInputStream(new File(path + ACTIONPATH));
//加载文件流的属性
prop.load(fis);
引自[url]http://haotw.iteye.com/blog/963425[/url]