概念:
java.util.Properties继承Hashtable,表示的是一个持久i的属性集,使用键值对的方式存储数据,每个键和值都是字符串。
构造方法:
存储方法:
-
-
public String getProperty(String key)
:使用此属性列表中指定的键搜索属性值。 -
public Set<String> stringPropertyNames()
package zw.Demo02属性集; import java.util.Properties; import java.util.Set; /** * zw * https://www.cnblogs.com/YwhsR0129/ * 2020/9/21,15:06 */ public class Test01 { public static void main(String[] args) { //创建属性集 获取的是一段字符串 Properties properties = new Properties(); //添加键值对元素 properties.setProperty("filename", "a.txt"); properties.setProperty("length", "209385038"); properties.setProperty("location", "D:\a.txt"); System.out.println(properties); //通过键,获取属性值 System.out.println(properties.getProperty("filename")); System.out.println(properties.getProperty("location")); //遍历属性集,获取所有键的集合 Set<String> strings = properties.stringPropertyNames(); for (String string : strings) { System.out.println(string+"--"+properties.getProperty(string)); } } }
Properties类于流相关的方法:
我们可以根据Properties的特性将加载到文件的数据
package zw.Demo02属性集.Demo022属性集和流; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.util.Properties; import java.util.Set; /** * zw * https://www.cnblogs.com/YwhsR0129/ * 2020/9/21,15:35 */ public class Test { public static void main(String[] args) throws IOException { //参数使用流对象,这样就可以关联到某个文件上 //创建属性集对象 Properties pro = new Properties(); //加载文本中的信息 pro.load(new FileInputStream("Demo13\aaa\as.txt")); //遍历打印集合 Set<String> strings = pro.stringPropertyNames(); for (String string : strings) { System.out.println(string + "--" + pro.getProperty(string)); } } }
注:我们需要加载的文本,要以空格,等号,冒号的形式分割开来,这样加载的时候才会有键值对的效果
properties开发中的使用方式:
- 开发中的配置文件一般后缀为.properties的文件
- 开发中的配置文件一般放在src目录下
- 配置文件中的内容一般不出现中文
- 一般只会去配置文件读取数据