Java读取文件的几种方式

Java读取文件的几种方式,第1张

方式一:采用ServletContext读取,读取配置文件的realpath,然后通过文件流读取出来。因为是用ServletContext读取文件路径,所以配置文件可以放入在web-info的classes目录中,也可以在应用层级及web-info的目录中。文件存放位置具体在eclipse工程中的表现是:可以放在src下面,也可放在web-info及webroot下面等。因为是读取出路径后,用文件流进行读取的,所以可以读取任意的配置文件包括xml和properties。缺点:不能在servlet外面应用读取配置信息。

方式二:采用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")


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/tougao/11513970.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存