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. 从防御者视角来看APT攻击

    前言 APT防御的重要性毋庸讳言,为了帮助各位师傅在防御方面建立一个总体认识,本文会将APT防御方法分为三类,分别是:监控.检测和缓解技术,并分别进行梳理,介绍分析代表性技术.这一篇分析现有的监控技术 ...

  2. DingtalkChatbot简单使用

    DingtalkChatbot 前言:该项目配合钉钉机器人 ,手机用户可以通过面对面建群创建单人群聊然后在电脑端 ···->智能群助手->添加机器人->自定义-> 然后添加机器 ...

  3. .Net 在容器中操作宿主机

    方案描述 在 docker 容器中想操作宿主机,一般会使用 ssh 的方式,然后 .Net 通过执行远程 ssh 指令来操作宿主机.本文将使用 交互式 .Net 容器版 中提供的镜像演示 .Net 在 ...

  4. 796. Rotate String - LeetCode

    Question 796. Rotate String Solution 题目大意:两个字符串匹配 思路:Brute Force Java实现: public boolean rotateString ...

  5. K8S 使用Minikube搭建Kubernetes(K8S)~单机运行Kubernetes~适用于快速学习

    在一台主机上运行起来的Kubernetes,仅适用于学习!~~~ 系统版本:CentOS Linux release 7.6.1810 (Core) 软件版本:Docker-ce-18.06.0.Ku ...

  6. 动态调试JS脚本文件:(JS源映射 - sourceURL)与 debugger

    我们在进行js调试时经常会对js进行调试,chrome 对js提示对支持非常友好,只需要F12就可以打开chrome的调试器 在sources里面就是页面请求后加载的一些资源文件,我们可以找到我们的j ...

  7. Three.js 打造缤纷夏日3D梦中情岛 🌊

    声明:本文涉及图文和模型素材仅用于个人学习.研究和欣赏,请勿二次修改.非法传播.转载.出版.商用.及进行其他获利行为. 背景 深居内陆的人们,大概每个人都有过大海之梦吧.夏日傍晚在沙滩漫步奔跑:或是在 ...

  8. Python搜索书名获取整本资源_笔趣阁

    前言 偶然一天把某项目文档传到手机上,用手机自带的阅读器方便随时拿出来查阅.看着我那好久没点开的阅读器,再看着书架上摆着几本不知道是多久之前导入的小说. 闭上眼,我仿佛看到那时候的自己.侧躺着缩在被窝 ...

  9. 使用 KubeKey 搭建 Kubernetes/KubeSphere 环境的"心路(累)历程"

    目录 今天要干嘛? 在哪里干? 从哪里开始干? 快速开干! 解决依赖问题再继续干! 如何干翻重来? 连着 KubeSphere 一起干! 干不过,输了. 重整旗鼓,继续干! 再次重整旗鼓,继续干! 一 ...

  10. CF1665A GCD vs LCM