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. Java学习笔记-基础语法Ⅶ-集合

    集合 集合类特点:提供一种存储空间可变的存储模型,存储的数据容量可以随时发生改变 这里需要回顾一下,因为数组和字符串一旦创建,就不可改变,需要区分一下 import java.util.ArrayLi ...

  2. Atlas2.2.0编译、安装及使用(集成ElasticSearch,导入Hive数据)

    1.编译阶段 组件信息: 组件名称 版本 Atals 2.2.0 HBase 2.2.6 Hive 3.1.2 Hadoop 3.1.1 Kafka 2.11_2.4.1 Zookeeper 3.6. ...

  3. kernel heap bypass smep,smap && 劫持modprobe_path

    kernel heap bypass smep,smap && 劫持modprobe_path exp1 smep:smep即用户数据不可执行,当 CPU 处于 ring0 模式时,执 ...

  4. Mac远程windows工具

    现在很多小伙伴都是使用MAC系统,但在工作中或多或少会遇到需要远程windows的情况,今天给大家安利一款软件,让你轻轻松松远程windows Microsoft Remote Desktop Mic ...

  5. TKE qGPU 通过 CRD 管理集群 GPU 卡资源

    作者 刘旭,腾讯云高级工程师,专注容器云原生领域,有多年大规模 Kubernetes 集群管理经验,现负责腾讯云 GPU 容器的研发工作. 背景 目前 TKE 已提供基于 qGPU 的算力/显存强隔离 ...

  6. (十二).NET6 + React :升级!升级!还是***升级!!!+ IdentityServer4实战

    一.前言 此篇内容较多,我是一步一个脚印(坑),以至于写了好久,主要是这几部分:后台升级 .NET6  VS2022.前台升级Ant Design Pro V5 .前后台联调 IdentityServ ...

  7. 图文详解MapReduce工作机制

    job提交阶段 1.准备好待处理文本. 2.客户端submit()前,获取待处理数据的信息,然后根据参数配置,形成一个任务分配的规划. 3.客户端向Yarn请求创建MrAppMaster并提交切片等相 ...

  8. 【SpringSecurity系列3】基于Spring Webflux集成SpringSecurity实现前后端分离无状态Rest API的权限控制

    源码传送门: https://github.com/ningzuoxin/zxning-springsecurity-demos/tree/master/02-springsecurity-state ...

  9. python自动将新生成的报告作为附件发送并进行封装

    发送报告作为自动化部署来讲是一个重要的环节,废话不多说直接上代码吧,如果想更细致的了解内容查阅本博主上篇基本发送文章 特别叮嘱一下:SMTP协议默认端口25,qq邮箱SMTP服务器端口是465 别出丑 ...

  10. NetCore框架WTM的分表分库实现

    介绍 本期主角: ShardingCore 一款ef-core下高性能.轻量级针对分表分库读写分离的解决方案,具有零依赖.零学习成本.零业务代码入侵 WTM WalkingTec.Mvvm框架(简称W ...