首页 > 代码库 > 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路径为起点,另一种是不带“/”开头的,表示当前类的路径下开始