首先看想项目中的目录
在项目中有两个a.html 一个在项目中 另一个在项目的报下 在Demo2.java这个文件中创建代码来实现用两个方法来访问项目资源
Java代码入下
package cc;
import java.io.IOException;
import java.io.InputStream;
import org.apache.commons.io.IOUtils;
/**
* 演示ClassLoader和Class获取类路径资源
*
*/
public class Demo2 {
/*
* 说ClassLoader获取资源时,不能以“/”开头!
*/
public void fun1() throws IOException {
ClassLoader cl = Demo2.class.getClassLoader();//得到类加载器
InputStream in = cl.getResourceAsStream("a.html");//让类加载器去类路径下查找资源(项目中的a.html)
System.out.println(IOUtils.toString(in));
}
/*
* 使用class来加载类路径下的资源1
*/
public void fun2() throws IOException {
Class c = Demo2.class;
InputStream in = c.getResourceAsStream("/a.html");//与类加载器的效果相同(包中与类在一个文件夹下的a.html)
System.out.println(IOUtils.toString(in));
}
/*
* 使用class来加载类路径下的资源2
*/
public void fun3() throws IOException {
Class c = Demo2.class;
InputStream in = c.getResourceAsStream("a.html");//到当前Class对应的.class文件所在目录去加载
System.out.println(IOUtils.toString(in));
}
}
本项目中需要额外用到另外一个jar包 是用来控制输入输出的 commons-io-1.4.jar
如需使用 自行下载