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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 袁计艳 中级黑马   /  2012-4-21 13:07  /  2545 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

里面用反射实现集合元素的内容时为什么用propertis时 不是很理解,为什么要用到它 一般properties有什么做用?一般什么时候用到呢?

评分

参与人数 1技术分 +1 收起 理由
贠(yun)靖 + 1

查看全部评分

5 个回复

倒序浏览
properties存放的是键值对,通过读取文件,然后从文件流中加载,很容易获得key相对应的值,反射使用Class.forName(String str)来获得Class对象,将key对应的值作为参数传递给forName(),这样的话,可以在只修改文件内容而不修改代码的情况下很方便的实现不同的运行效果。

评分

参与人数 1技术分 +1 收起 理由
贠(yun)靖 + 1

查看全部评分

回复 使用道具 举报
我查了下,应该是通过某个类 来进行里面参数的引用 ,简单的方法就是工程搜索配置文件中的参数,你看下哪里使用了,然后在看看是什么意思 。
resource(个人以为应该不是resoures) ,一般程序为了比较整齐, 所有的配置文件都放在里面 ,可以通过java build path中的source进行设置,将起加载进来。
回复 使用道具 举报
为了增强程序的灵活性,需要把一些经常变动的参数预先写到配置文件中去,到需要的时候再读取,以后参数值有变动的时候就不用修改代码,只需修改配置文件中的相应的值就可以了。

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的内容了。

评分

参与人数 1技术分 +1 收起 理由
贠(yun)靖 + 1

查看全部评分

回复 使用道具 举报
properties 是io流和集合的结合体  一般加载配置文件的时候 用这个比较方便 代码少很多
回复 使用道具 举报
{:soso_e183:}谢谢
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马