Properties类是Java中提供的(支持度很高的)专门用于处理属性配置文件的一个API
通常用于属性文件的配置以及持久化属性的使用
该类来自于Java.util下的,是Map接口的子类,间接继承了Map - 键值对(双列)
特点
- Map接口的子类,map中的方法都可以使用
- 该集合没有泛型,键值都是字符串
- 是一个可以持久化的属性集,键值存储到集合中,也可以持久化到设备(硬盘,U盘等等)上。
有和流结合的技术 ```java package Day01_Demo.Test02;/*
@create 2020—12—21—9:45 */
import org.junit.Test;
import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.util.Properties;
/**
- 讲解Properties使用
properties类是 */ public class PropertiesDemo {
//使用步骤 @Test public void test1() throws IOException {
//1.保存properties的数据到流中 - void store(OutputStream out,String comment)
Properties prop = new Properties();
prop.put("ID", "100");
prop.put("name", "John");
prop.store(new FileOutputStream("1.txt"),"要写入的内容");//内容的unicode码
}
//从流中读取 - void load(InputStream in) @Test public void test2() throws IOException {
Properties prop = new Properties();
prop.load(new FileInputStream("1.txt"));
//建议将数据强制转成字符串 - 因为properties没有泛型,只支持字符串
String v_id = prop.getProperty("id");
System.out.println(v_id);
String v_name;
v_name = prop.getProperty("name");
System.out.println(v_name);
//如果key找不到则返回null
}
@Test public void test3() throws IOException {
//设置数据 - setPropertise(String key,String value) Properties prop = new Properties(); prop.setProperty("ID", "100"); prop.setProperty("name", "Lucy"); //支持持久化数据 prop.store(new FileOutputStream("2.txt"),"要写入的内容");//内容的unicode码
}
@Test public void test4() throws IOException {
Properties prop = new Properties(); prop.load(new FileInputStream("2.txt")); String v_id = (String) prop.get("ID"); System.out.println(v_id); String v_name = (String) prop.get("name"); System.out.println(v_name);
} }
```