Properties是双列集合 继承自HashTable 这个集合是唯一能和Io流产生关系的集合
Properties 有一个添加数据的特有方法 setProperty
private static void fun1() {
Properties properties =new Properties();
//添加数据(特有方法 只能添加字符串)
properties.setProperty("name", "王龙");
properties.setProperty("age", "18");
//遍历集合
for (Object key : properties.keySet()) {
String k =(String)key;
System.out.println(k+"="+properties.getProperty(k));
}
}
往一个文件中添加数据
Properties properties =new Properties();
//添加数据
properties.setProperty("username","wanglong");
properties.setProperty("password", "123456");
//将集合中的数据 写入到文件中
//参数2 添加的是注释(一般什么都不写) 中文注释是乱码的 Unicode码
FileOutputStream fos = new FileOutputStream("/Users/lanou/Desktop/Test/shuang.properties");
properties.store(fos, "我是注释哈哈");
//关闭资源
fos.close();
读取数据
private static void fun2() throws FileNotFoundException, IOException {
//读取方法(load()加载)
//读取文件 最终会把数据加载到集合中
//文件格式 key=value
Properties properties = new Properties();
//文件名字规范:一般把properties集合
//可以直接加载的文件的后缀名都是用 properties 来标识
FileInputStream fis = new FileInputStream("/Users/lanou/Desktop/Test/shuang.properties");
//把数据加载到集合当中
properties.load(fis);
//关闭流资源
fis.close();
System.out.println(properties.toString());
}