黑马程序员技术交流社区

标题: 反射开发框架的原理的问题 [打印本页]

作者: 袁计艳    时间: 2012-4-21 13:07
标题: 反射开发框架的原理的问题
里面用反射实现集合元素的内容时为什么用propertis时 不是很理解,为什么要用到它 一般properties有什么做用?一般什么时候用到呢?
作者: 蒋亮    时间: 2012-4-21 14:00
properties存放的是键值对,通过读取文件,然后从文件流中加载,很容易获得key相对应的值,反射使用Class.forName(String str)来获得Class对象,将key对应的值作为参数传递给forName(),这样的话,可以在只修改文件内容而不修改代码的情况下很方便的实现不同的运行效果。
作者: 王德升    时间: 2012-4-21 14:27
我查了下,应该是通过某个类 来进行里面参数的引用 ,简单的方法就是工程搜索配置文件中的参数,你看下哪里使用了,然后在看看是什么意思 。
resource(个人以为应该不是resoures) ,一般程序为了比较整齐, 所有的配置文件都放在里面 ,可以通过java build path中的source进行设置,将起加载进来。
作者: 张超超    时间: 2012-4-21 15:04
为了增强程序的灵活性,需要把一些经常变动的参数预先写到配置文件中去,到需要的时候再读取,以后参数值有变动的时候就不用修改代码,只需修改配置文件中的相应的值就可以了。

java为我们提供了一个非常方便的工具类Properties,它可以很方便的读取以.properties为后缀的文件中特定的内容。

name=wowkaka

对于.properties文件中类似上面的键值对,只要给出键值对的key,就可以获得简直对的value.要注意的是properties的键值对的key和value都是字符串

结合一段简单的实例代码,我们来看一下Properties类的使用

Properties props = new Properties();

//只要将指定的配置文件config.properties放在类路径下就可以动态加载

InputStream is = this.getClass().getResourceAsStream("config.properties");

props.load(is);

//通过key获取value

String value = props.getProperty("name");

//除了读取参数之外,还可以将指定的键值对写入属性文件

props.setProperty("name","value");

//如果想要将设置的属性键值对持久到文件中,还要保存一下

OutputStream fos = FileOutputStream("d:\\config.properties",true);

props.store(fos,"comment");

fos.close();

这样就可以很方便的读取、写入Properties的内容了。


作者: 贠(yun)靖    时间: 2012-4-21 17:30
properties 是io流和集合的结合体  一般加载配置文件的时候 用这个比较方便 代码少很多
作者: 袁计艳    时间: 2012-4-21 17:51
{:soso_e183:}谢谢




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2