Java Class类加载资源的一般方法

来源:互联网 发布:在虚拟机安装mac系统 编辑:程序博客网 时间:2024/06/06 07:45

从 classpath 里面进行资源读取、加载,一般采用Class.getResourceAsStream和ClassLoader.getResourceAsStream方法。

Class.getResourceAsStream主要用于读取相对于当前Class的资源;
ClassLoader.getResourceAsStream用于读取相对于classpath的资源。

在使用Class.getResourceAsStream 时, 资源路径访问有两种方式, 一种以 / 开头,则这样的路径是指定绝对路径; 如果不以 / 开头, 则路径是相对于这个class所在的包目录的。

在使用ClassLoader.getResourceAsStream时, 路径直接使用相对于classpath的绝对路径。

举例,假设classpath下有如下目录和文件:

classpath:/com/example/Test.classclasspath:/com/example/abc.txt

则下面的三个语句,实际结果是一样的:

com.example.Test.class.getResourceAsStream("abc.txt");com.example.Test.class.getResourceAsStream("/com/example/abc.txt");ClassLoader.getResourceAsStream("com/example/abc.txt");
原创粉丝点击