简述java加载资源文件的三种方式

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStream;
import java.util.Properties;

public class LoadResourseDemo {
	public static void main(String[] args) throws Exception {
		test1();
		test2();
		test3();
	}

	/**
	 * @throws Exception 
	 * 方法一:绝对路径
	 */
	private static void test1() throws Exception {
		Properties p=new Properties();
		InputStream ins=new FileInputStream("D:/360极速浏览器下载/eclipse/jj/Reflect/resource/db.properties");
		p.load(ins);
		System.out.println(p);//{myname=liu }
	
	}
	/**
	 * @throws Exception 
	 * //最常用的方法:ClassLoader中的方法
	 * 方法二:使用相对路径-相对于 classpath的根路径(字节码输出目录)
	 */
	
	private static void test2() throws Exception {
		Properties p=new Properties();
		//利用Thread对象获得类加载对象,但是和线程没有关系
		ClassLoader loader=Thread.currentThread().getContextClassLoader();
		InputStream ins=loader.getResourceAsStream("db.properties");
		p.load(ins);
		System.out.println(p);//	{myname=liu }
	}
	/**
	 * @throws Exception 
	 * Class类中的方法
	 * 方法三:使用相对路径-相对于当前加载资源文件的字节码路径
	 */
	private static void test3() throws Exception {
		Properties p=new Properties();
		//在该类的存放.class文件的文件夹下找
		InputStream ins=LoadResourseDemo.class.getResourceAsStream("db.properties");
		p.load(ins);
		System.out.println(p);//	{myname=liu }
	}
	
}

猜你喜欢

转载自blog.csdn.net/qq_39396275/article/details/78671266