`

Java && Java Web 路径相关问题

    博客分类:
  • J2EE
阅读更多
问题描述:
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);   


引自http://haotw.iteye.com/blog/963425
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics