一、填空题
- Properties是一个____(单/双)列集合,继承自________类;
- Properties集合中的____方法可以把集合中的临时数据持久化写入到硬盘中存储;
- Properties集合中的____方法可以把硬盘中保存的文件(键值对),读取到集合中使用;
- Properties集合中的键和值默认都是____;
- Properties集合中的________方法相当于HashTable中的put(key,value)方法-增;
- Properties集合中的________方法相当于HashTable中的get(key)方法-查;
- Properties集合中的________方法返回的是属性列表的键集;
1、双,HashTable
2、store
3、load
4、字符串
5、setProperty(String key, String value)
6、getProperty(String key)
7、stringPropertyNames()
import java.util.Properties;
import java.util.Set;
public class PropertiesTest {
public static void main(String[] args) {
Properties prop = new Properties();
// 增
prop.setProperty("James","35");
prop.setProperty("Kobe","42");
// 遍历
Set<String> set = prop.stringPropertyNames();
for (String s : set) {
// 查
String value = prop.getProperty(s);
System.out.println(s + " = " + value);
}
}
}
二、Properties类 store 方法代码演示
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Properties;
public class PropertiesTest {
public static void main(String[] args) throws IOException {
Properties prop = new Properties();
// 增
prop.setProperty("James","35");
prop.setProperty("Kobe","42");
FileWriter fw = new FileWriter("a.txt");
// 字符流可以写中文
prop.store(fw, "save data");
// 字节流不可以写中文
// 匿名对象用完自己会close
prop.store(new FileOutputStream("b.txt"),"save data");
fw.close();
}
}
三、Properties类 load 方法代码演示
一般用 load 都用字符流即 FileReader 而不是 FileInputStream;
import java.io.FileReader;
import java.io.IOException;
import java.util.Properties;
import java.util.Set;
public class PropertiesLoadTest {
public static void main(String[] args) throws IOException {
Properties prop = new Properties();
prop.load(new FileReader("a.txt")); // 字符流
Set<String> set = prop.stringPropertyNames();
for (String s : set) {
System.out.println(s + prop.getProperty(s));
}
}
}