利用ClassLoader类加载器获取项目资源和用class获取项目资源

首先看想项目中的目录


在项目中有两个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  

如需使用 自行下载

你可能感兴趣的:(利用ClassLoader类加载器获取项目资源和用class获取项目资源)