req.getSession().getServletContext().getRealPath("/")
2、获取类路径
this.getClass().getResource("/").getPath()
1、一般工程中使用I/O类指定文件的绝对路径读取FileInputStream fis = new FileInputStream("src/main/resources/zsm.properties")
ppt.load(fis)
String memAddr1 = ppt.getProperty("memAddr1")
2、Web工程中可以使用ServletContext或ClassLoader来读取
2.1、通过ServletContext来读取资源文件,文件路径是相对于web项目(如/JspServletFeature)根路径而言的。
2.2、通过ClassLoader来读取,文件路径是相对于类目录而言的(maven工程中一般为/target/classes)
示例如下
(1)文件位置
放在src目录(或其子目录)下是相对于项目根目录如JspServletFeature的路径
放在JavaResources下是相对于类目录即classes的目录
(2)代码
// 使用servletContext读取资源文件,相对于web项目的根路径(即JspServletFeature)
out.println("\n使用servletContext读取资源文件,相对于web项目的根路径(即JspServletFeature):")
readFileByServletContext(response, "FileReadFile1.properties")
readFileByServletContext(response, "/FileReadFile1.properties")
readFileByServletContext(response, "WEB-INF/classes/FileReadFile2.properties")
readFileByServletContext(response, "/WEB-INF/classes/FileReadFile2.properties")
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)