Java中的getResourceAsStream常用有以下几种:
1. java.lang.Class<T>.getResourceAsStream(String path) : path 以相对路径开始时,默认是从当前类所在的包下取资源。以绝对路径"/"开头,则是从ClassPath根下获取。其只是通过path构造一个绝对路径,最终还是由ClassLoader获取资源。
2. java.lang.ClassLoader.getResourceAsStream(String path) :默认根路径是ClassPath根路径,path也可以’/'开头,同样默认根是CLASSPATH,最终是由ClassLoader获取资源。
3. javax.servlet.ServletContext. getResourceAsStream(String path) :默认根路径是WebAPP根路径,path多以绝对路径"/"开头,也可以使用相对路径,同样默认根目录为CLASSPATH根目录,可能与具体的容器实现有关。
通常Java加载文件可以通过以下几种方式来加载:
第一种: 类/类加载器的方式加载文件,如上1、2;
第二种:通过本地文件系统的FileInputStream方式加载文件;
第三种:通过ServletContext,如上3,用作WEB应用加载文件。