首页 > 代码库 > java中的getResourceAsStream用途

java中的getResourceAsStream用途

其实这个东西我也不明白,在项目中遇到了,我隐隐的感觉这是在读取一个文件信息,后来查阅了网友的相关博客,大概的总结一些这个玩意是干啥的。

首先,我们要知道在java中都有哪些个getResourceAsStream,以及参数的含义

主要的作用都是读取指定的文件,并返回一个输入流对象

1.这是我在项目中见到的方式

Server.class.getResourceAsStream("jdbc.properties")//读取指定文件,返回一个输入流InputStream对象

参数说明:这里参数可以有两种:一种是以“/”开头的,表示要从项目的ClassPath开始的,如果前面没有这个“/”,那么表示的就是相对于该类的路径继续往下

例如:假设Server路径为"/com/utils/Server.java"

    那么参数:“jdbc.properties”  就代表  "/com/utils/jdbc.properties”

“/jdbc.properties”  也就和com是同一级别的了

jdbc/jdbc.properties” 也就是 “/com/utils/jdbc/jdbc.properties”

2.另一种方式

Server.getClassLoader.getResourceAsStream("jdbc.properties")  

参数说明:这里的参数默认是从项目的ClassPath开始的,因此参数不能够以“/”开头了,这样会冲突的

3. ServletContext. getResourceAsStream(String path):默认从WebAPP根目录下取资源,Tomcat下path是否以’/‘开头无所谓,当然这和具体的容器实现有关。

4. Jsp下的application内置对象就是上面的ServletContext的一种实现。


总而言之:1.作用就是读取指定的文件,并且返回一个输入流的对象,或者是一个null(当文件不存在的时候)

  2.参数只有两种方式,一种是“/”开头的,表示ClassPath路径为起点,另一种是不带“/”开头的,表示当前类的路径下开始