Properties类
Posted hzhjxx
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Properties类相关的知识,希望对你有一定的参考价值。
1特点
1、Hashtable的子类,map集合中的方法都可以用。
2、该集合没有泛型。键值都是字符串。
3、它是一个可以持久化的属性集。键值可以存储到集合中,也可以存储到持久化的设备(硬盘、U盘、光盘)上。键值的来源也可以是持久化的设备。
4、有和流技术相结合的方法。
2方法
例:当做集合用
import java.io.IOException; import java.util.Properties; import java.util.Set; public class Test { public static void main(String[] args) throws IOException { Properties pro=new Properties(); //往集合中存储键值对 pro.setProperty("b","1"); pro.setProperty("a", "2"); //取值 System.out.println(pro.getProperty("a")); Set<String> set=pro.stringPropertyNames(); //相当于keySet方法 for(String s:set){ System.out.println(s+":"+pro.getProperty(s)); } } }
这里面有三个方法,但不大常用。因为map更好用。
3常用方法
例1:建一个demo.properties的文件,并输入以下内容(注意不要加额外的符号)
import java.io.FileReader; import java.io.IOException; import java.util.Properties; public class Test { public static void main(String[] args) throws IOException { Properties pro=new Properties(); FileReader fr=new FileReader("E:\\zyx\\java\\demo.properties"); //从文件中读取键值对 pro.load(fr); System.out.println(pro); } }
例2:
import java.io.FileOutputStream; import java.io.IOException; import java.util.Properties; public class Test { public static void main(String[] args) throws IOException { Properties pro=new Properties(); pro.setProperty("name2", "lisi"); pro.setProperty("hobby2", "football"); pro.setProperty("sex2", "man"); pro.setProperty("sex2", "woman"); //明确目的地 FileOutputStream fos=new FileOutputStream("E:\\zyx\\java\\demo.properties",true); pro.store(fos,"this is a person information"); } }
注意:
描述只能是英文或空串
不能存重复的键
4应用:jdbc工具类中
如果需要连接多个数据库,那么JDBCUtils.java这个工具类需要修改。那么可以建一个properties文件,把配置参数写进去。再读这个文件就方便许多。
例:
在项目中建一个pro.properties文件:
然后工具类连接数据库方法修改为:
以上是关于Properties类的主要内容,如果未能解决你的问题,请参考以下文章
如何通过单击片段内的线性布局从片段类开始新活动?下面是我的代码,但这不起作用
elasticsearch代码片段,及工具类SearchEsUtil.java
使用ResourceBundle 类读取 src 下的 xxx.properties 文件
Android 逆向类加载器 ClassLoader ( 类加载器源码简介 | BaseDexClassLoader | DexClassLoader | PathClassLoader )(代码片段