方式二:采用ResourceBundle类读取配置信息,
优点是:可以以完全限定类名的方式加载资源后,直接的读取出来,且可以在非Web应用中读取资源文件。缺点:只能加载类classes下面的资源文件且只能读取.properties文件。
方式三:采用ClassLoader方式进行读取配置信息
优点是:可以在非Web应用中读取配置资源信息,可以读取任意的资源文件信息
缺点:只能加载类classes下面的资源文件。
方法4 getResouceAsStream
XmlParserHandler.class.getResourceAsStream 与classloader不同
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条)