Java利用反射机制创建对象以及几种IDEA下文件路径的写法

一、准备在src下的配置文件classinfo.properties

 

 

 

二、 通过IO流读取classinfo.properties文件

        1、以常规的文件路径名的方式

        FileReader reader = new FileReader("D:\\Users\\cwy\\JAVA\\classinfo.properties");

        2、 放置在IDEA工具工程模块src文件下的方式

        FileReader reader = new FileReader("chapter/src/com/java/classinfo.properties");

        3、 放置在IDEA工具工程模块src文件下,获取文件的绝对路径,从类的根目录下加载。

        String path = Thread.currentThread().getContextClassLoader()
                .getResource("classinfo.properties").getPath();
        FileReader reader = new FileReader(path);

        4、 直接以流的形式返回,不需要创建IO流对象了。

        InputStream reader = Thread.currentThread().getContextClassLoader()
                .getResourceAsStream("classinfo.properties");

         5、采用java.util包下提供的一个资源绑定器的方式,便于获取属性配置文件中的内容。

               1、 文件必须是以.properties结尾  

               2、 文件必须在类路径下

        ResourceBundle bundle = ResourceBundle.getBundle("classinfo");
        String className = bundle.getString("className");

三、创建属性类对象Map 

        1、创建集合对象 

        Properties pro = new Properties();
        pro.load(reader);

        以上(1)(2)(3)都需要进行IO流的加载、(4)(5)不需要。 

        2、通过key获取value

        String className = pro.getProperty("className");

四、通过反射机制实例化对象

        1、通过Class的newInstance()方法来实例化对象。

                newInstance()调用的是无参数构造,必须保证无参构造是存在的!

        Class c = Class.forName(className);
        Object obj = c.newInstance();

       

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值