package com.yang.Test.PropertiesStudy;

import java.io.FileWriter;
import java.io.IOException;
import java.util.Properties;
import java.util.Set; /**
* java.util.Properties集合 extends Hashtable<k,y> implements Map<k,y>
* Properties类表示了一个持久的属性集。Properties可保存在流中或从流中加载。
* Properties集合是一个唯一和IO流相结合的集合
* 可以使用Properties集合中的store,把集合中的临时数据,持久化写入到硬盘中存储
* 可以使用Properties集合中的方法load,吧硬盘中保存的文件(键值对),读取到集合中使用
* 属性列表中每个键及其对应值都是一个字符串。
* Properties集合是一个双列集合,key和value默认都是字符串
*/
public class demo01 {
public static void main(String[] args) throws IOException {
show2();
} /**
* 使用Properties集合存储数据遍历取出Properties集合中的数据
* Properties集合是一个双列集合,key和value默认都是字符串
* Properties集合有一些操作字符串的特有方法
* Object setProperty(String key, String value)调用Hashtable的方法put
* String getProperty(String key)通过key找到value值,此方法相当于Map集合中的get(key)方法
* Set<String> stringPropertyNames()返回此属性列表中的链表,其中该键及其对应值是字符串,此方法相当于Map集合中的keySet方法
*/
private static void show1() {
//创建Properties对象
Properties prop = new Properties();
//调用setProperty往集合中添加数据
prop.setProperty("赵丽颖","168");
prop.setProperty("迪丽热巴","165");
prop.setProperty("古力娜扎","160"); //使用stringPropertyNames把Properties集合中的键取出,存储到一个Set集合中
Set<String> set = prop.stringPropertyNames(); //遍历Set集合,取出Properties集合的每一个键
set.forEach(key -> {
//使用getProperty方法根据key获取value
String value = prop.getProperty(key);
System.out.println(key+"="+value);
});
} /**
* 可以使用Properties集合中的store,把集合中的临时数据,持久化写入到硬盘中存储
* void store(OutputStream out,String comments);
* void store(Writer writer,String comments);
* 参数:
* OutputStream out:字节输出流,不能写入中文
* Writer writer:字符输出流,可以写入中文
* String comments:注释,用来解释说明保存的文件是做什么用的
* 不能使用中文,会产生乱码,默认是Unicode编码
* 一般使用""空字符串
*
* 使用步骤:
* 1.创建Properties集合对象,添加数据
* 2.创建字节输出流/字符输出流对象,构造方法中绑定要输出的目的地
* 3.使用Properties集合中的方法store,把集合中的临时数据,持久化写入到硬盘中存储
* 4.释放资源
*/
private static void show2() throws IOException {
Properties prop = new Properties();
prop.setProperty("赵丽颖","168");
prop.setProperty("迪丽热巴","165");
prop.setProperty("古力娜扎","160"); FileWriter fw = new FileWriter("Document\\1.txt");
prop.store(fw,"save data"); fw.close();
}
}

Load

```java
package com.yang.Test.PropertiesStudy; import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.Properties;
import java.util.Set; /**
* 可以使用Properties集合中的方法Load,把硬盘中保存的文件(键值对),读取到集合中使用
* void load(InputStream inStream);
* void load(Reader reader);
* 参数:
* InputStream inStream:字节输入流,不能读取含有中文的键值对
* Reader reader;字符输入流,能读取含有中文的键值对
* 使用步骤:
* 1.创建Properties集合对象
* 2.使用Properties集合对象中的方法Load读取保存键值对的文件
* 3.遍历Properties集合
* 注意:
* 1.存储键值对的文件中,键和值默认的连接符号可以使用=,空格(其他符号)
* 2.存储键值对的文件中,键和值默认都是字符串,不用再加引号
*/
public class PropertiesStudy02 {
public static void main(String[] args) throws IOException {
//1.创建Properties集合对象
Properties prop = new Properties();
//2.使用Properties集合对象中的方法Load读取保存键值对的文件
prop.load(new FileReader("Document\\1.txt"));
//3.遍历Properties集合
Set<String> set = prop.stringPropertyNames();
set.forEach(key -> {
String value = prop.getProperty(key);
System.out.println(key+"="+value);
});
}
}

使用Properties集合存储数据,遍历取出Properties集合中的数据和Properties集合中的方法store和load的更多相关文章

  1. 阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_06 Properties集合_1_使用Properties集合存储数据,遍历取出集合中的数据

    map下面的实现类叫做Hashtable Properties是唯一和IO流相结合的 讲解 代码

  2. java的缓冲流及使用Properties集合存取数据(遍历,store,load)

    缓冲流 概述 字节缓冲流:BufferedInputStream,BufferedOutputStream 字符缓冲流:BufferedReader,BufferedWriter 缓冲流原理 缓冲区是 ...

  3. map集合修改其中元素 去除Map集合中所有具有相同值的元素 Properties长久保存的流操作 两种用map记录单词或字母个数的方法

    package com.swift.lianxi; import java.util.HashMap; import java.util.Iterator; import java.util.Map; ...

  4. Java集合框架(五)—— Map、HashMap、Hashtable、Properties、SortedMap、TreeMap、WeakHashMap、IdentityHashMap、EnumMap

    Map Map用于保存具有映射关系的数据,因此Map集合里保存着两组值,一组值用于保存Map里的key,另一组值用于保存Map里的value,key和value都可以是任何引用类型的数据.Map的ke ...

  5. Properties集合中的方法store和Properties集合中的方法load

    Properties集合中的方法store public class Demo01Properties { public static void main(String[] args) throws ...

  6. Java持久化存储对象Properties的方法list、store、load

    package FileDemo; import java.io.BufferedReader; import java.io.File; import java.io.FileOutputStrea ...

  7. Java学习:Set接口与HashSet集合存储数据的结构(哈希表)

    Set接口 java.util.Set接口 extends Collection接口 Set接口的特点: 不允许存储重复的元素 没有索引,没有带索引的方法,也不能使用普通的for循环遍历 java.u ...

  8. Java基础知识强化之IO流笔记45:IO流练习之 把集合中的数据存储到文本文件案例

    1. 把集合中的数据存储到文本文件案例:    需求:把ArrayList集合中的字符串数据存储到文本文件 ? (1)分析:通过题目的意思我们可以知道如下的一些内容,ArrayList集合里存储的是字 ...

  9. 使用传统的方式遍历集合对集合中的数据进行过滤和使用Stream流的方式遍历集合对集合中的数据进行过滤

    使用传统的方式,遍历集合,对集合中的数据进行过滤 class Test{ public static void main(String[] args){ ArrayList<String> ...

随机推荐

  1. 一个程序的自我修养「GitHub 热点速览 v.22.19」

    一个程序要诞生涉及前后端技术,比如,你可以用可视化网页搭建工具 tmagic-editor 完成前端部分,而后端部分的数据库以及数据处理可能就要用到 jsonhero-web 和 directus.知 ...

  2. Web3.0应用程序架构

    Web 3.0 应用程序(或"DApps")的架构与 Web 2.0 应用程序完全不同. 以博客园为例,这是一个简洁的博客网站,用户可以发布自己的内容并可以评论他人的内容进行互动. ...

  3. Windows UIA自动化测试框架学习--获取qq好友列表

    前段时间应公司要求开发一款针对现有WPF程序的自动化测试工具,在网上查资料找了一段时间,发现用来做自动化测试的框架还是比较多的,比如python的两个模块pywinauto和uiautomation, ...

  4. netty系列之:netty中常用的对象编码解码器

    目录 简介 什么是序列化 重构序列化对象 序列化不是加密 使用真正的加密 使用代理 Serializable和Externalizable的区别 netty中对象的传输 ObjectEncoder O ...

  5. linux下三种服务开机自启的方式

    方式一.二.三适用于ubuntu,centos推荐使用方式二.方式三 方式一 在ubuntu系统中,如果你使用的apt方式安装的软件,可以使用如下方式直接添加服务的开机自启, 如果你是手动解压缩官网下 ...

  6. 好客租房20-react组件介绍

    1react组件介绍 组件是react中的一等公民 组件表示页面中的部分功能 组合多个组件实现完整的页面功能 特点 可复用性 独立 可组合

  7. SpringBoot官方支持任务调度框架,轻量级用起来也挺香!

    大家好,我是二哥呀.定时任务的应用场景其实蛮常见的,比如说: 数据备份 订单未支付则自动取消 定时爬取数据 定时推送信息 定时发布文章 等等(想不出来了,只能等等来凑,,反正只要等的都需要定时,怎么样 ...

  8. 2021.06.12【NOIP提高B组】模拟 总结

    T1 题目大意:有 \(n\) 个点,到点 \(i\) 可以获得 \(A_i\) ,同时消耗 \(B_i\) 若当前价值小于 \(B_i\) 则不能到,问从 \(P\) 开始,任一点结束后的最大值. ...

  9. Java系列之运算符

    运算符 算术运算符:+ (加).-(减) .*(乘)./(除).%(模).++(自增) . --(自减) 赋值运算符:= 关系运算符:>.<.>= <= == != insta ...

  10. 1.4 操作系统的其余功能 -《zobolの操作系统学习札记》

    1.4 操作系统的其余功能 操作系统除了虚拟化.并发.存储管理三个主要功能,还有许多子功能,我主要介绍几种常见的功能比如 目录 1.4 操作系统的其余功能 稳定性 高性能 隔离保护 易用性(可视化) ...