java web中读取文件,相对路径怎么写

String ID = null;
Properties pro = new Properties();
FileInputStream fis = new FileInputStream("D:/workspace/sk45/resources/numberauto.properties");
pro.load(fis);
fis.close();
ID = pro.getProperty(key);
用绝对路径能读出来,想写成相对路径怎么写啊

相对路径的话,可以先获取到当前文件的编译路径,之后在找到想找文件的路径的思路来实现。
举例:
XMLS.class.getClass().getResourceAsStream("/test/test.txt");
解释:XMLS.class.getClass()是获取当前的类编译路径,之后通过getResourceAsStream的形式即可找到要读取的文件的路径。
备注:这个方法中后面的路径也可以通过截取的形式来进行路径获取,实现原理都是找到当前类路径,之后通过相对位置找到另外文件路径。
温馨提示:内容为网友见解,仅供参考
第1个回答  2014-09-19
//获取项目根路径
String basePath = request.getSession().getServletContext().getRealPath("/");
第2个回答  2014-09-19
String path = XX.class.getResource("").getPath().substring(1);
String image = path.substring(0,path.indexOf("/WEB-ROOT"));

第3个回答  2014-09-19
<%=request.getContextPath()%>
request.getXXX();好几个方法
第4个回答  2014-09-19
ServletContext application=this.getServletContext();
String saveDir = application.getRealPath("")+"/resources/numberauto.properties";
FileInputStream fis = new FileInputStream(saveDir);本回答被提问者采纳
相似回答