A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

  1. import java.io.FileInputStream;
  2. import java.io.FileNotFoundException;
  3. import java.io.InputStream;
  4. import java.util.ArrayList;
  5. import java.util.Collection;
  6. import java.util.Collections;
  7. import java.util.HashSet;
  8. import java.util.Properties;

  9. public class ReflectTest2 {

  10.         public static void main(String[] args) throws Exception {
  11.                 /*读取文件并放入字节缓冲流,配置文件一定要用完整的路径,但完整的路径不是用编码,而是运算出来的。
  12.                 getRealpath();得到程序安装目录。*/
  13.                 InputStream ips = new FileInputStream("config.properties");
  14. /*                getClassLoader()是获取该类的加载器,getResourceAsStream()是获取普通文件,方式是的在classpath
  15.                 文件目录下逐一查找要加载的文件,这种方式只读不能改,注意最前面不要有"/"。
  16.                 InputStream ips = ReflectTest2.class.getClassLoader().getResourceAsStream("cn/itcast/day1/config.properties");
  17. //                相对于包下面的文件
  18.                 InputStream ips = ReflectTest2.class.getResourceAsStream("config.properties");
  19. */                /*它基于HashSetMap扩展了,可以把内存里面的键值顿写入到文件,也可以在初始化的时候
  20.                 把自己的键值顿文件加载进来*/
  21.                 Properties props = new Properties();
  22.                 props.load(ips);
  23.                 //这是关闭调用的系统资源,而不是Java资源被关闭,这样不会倒置Java会垃圾回收,而系统资源还在
  24.                 ips.close();
  25.                 //获取className的值
  26.                 String className = props.getProperty("className");
  27.                 //创建className对应的类的字节码的对象
  28.                 Collection collections = (Collection)Class.forName(className);
  29.                
  30.                 //Collection collections = new HashSet();
  31.                 ReflectPoint pt1 = new ReflectPoint(3, 3);
  32.                 ReflectPoint pt2 = new ReflectPoint(5, 5);
  33.                 ReflectPoint pt3 = new ReflectPoint(3, 3);
  34.                 collections.add(pt1);
  35.                 collections.add(pt2);
  36.                 collections.add(pt3);
  37.                 collections.add(pt1);

  38.                 System.out.println(collections.size());
  39.         }
  40. }
复制代码


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马