反射第六步 : 通过反射加载资源文件 三种方式
2017-08-21 11:48
465 查看
package cn.sdut.reflectclass; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.util.Properties; /* * 反射第六步 : 通过反射加载资源文件 三种方式 * * properties是Hashtable的子类 也就是 键值都是Strin类型 * 建立一个source Folder 叫做 resource 里面存放 db.properties 文件 或者直接建在src下面 编译后 文件都会被放到字节码根目录下 * 文件内容: * #key=value * admin=root * password=root * */ public class RelfectDemo06 { public static void main(String[] args) throws Exception { Properties p = new Properties(); //第一种方式 :使用绝对路径 InputStream inputStream = new FileInputStream("C:/Users/Administrator/Desktop/ZXC/day0803/resource/db.properties"); //InputStream inputStream = new FileInputStream("resource/db.properties"); p.load(inputStream); System.out.println(p); //第二种方式 :使用类加载器 它会从字节码根目录下开始寻找文件 最常使用的方法 InputStream inputStream1 = null; ClassLoader clo =Thread.currentThread().getContextClassLoader();//加载器可以是随便一个类来获得 RelfectDemo06.class.getClassLoader();也可以 inputStream1 = clo.getResourceAsStream("db.properties"); p.load(inputStream); System.out.println(p); //第三种方式 :使用class类的getResourceAsStream(String name) 它会从所在字节码目录下寻找文件 InputStream inputStream2 = RelfectDemo06.class.getResourceAsStream("db.properties");//此时 RelfectDemo06.class文件和db.properties文件在一个文件夹下面 p.load(inputStream2); System.out.println(p); } }
相关文章推荐
- VS2008 VC 如何把图片等资源文件通过本地路径加载方式加载
- 加载资源文件的三种方式
- 简述java加载资源文件的三种方式
- JavaEE细节问题02——加载资源文件的三种方式
- servlet读取资源文件的三种方式
- 让uBoot通过tftp的方式加载Linux内核文件
- java加载资源文件方式总结
- Java反射02 : Class对象获取的三种方式和通过反射实例化对象的两种方式
- unity通过WWW方式加载.obj文件
- Velocity中加载vm文件的三种方式
- MyBatis Review——加载mappers映射文件的三种方式
- Velocity中加载vm文件的三种方式
- 加载spring配置文件的三种方式
- iOS中读取Cell的两种方式(资源包种加载Cell,从nib文件中注册cell)和xib知识点
- 操作jar包内的资源文件方法,通过classLoader方式
- MyBatis Review——加载mappers映射文件的三种方式
- Spark通过mapPartitions方式加载Json文件,提高文件加载速度
- Servlet读取资源文件的三种方式
- Spring的ApplicationContext加载多个配置文件的三种方式
- 【Android】三种加载布局资源的方式