1.概念

Properties是Map的子类,是一个双列集合,键和值都是字符串类型。Map集合的方法它都能使用;
但是推荐是Properties自己特有的方法,对集合进行操作。

2.特有方法
//properties属于Map集合【该集合一般添加字符串键值对】
//特有方法[名字不同,但是用法一样,区别是参数类型不同]
public class Demo1 {public static void main(String[] args) {Properties pro = new Properties();//setProperty()添加键值对[如果键重复,就覆盖值]类似于put方法pro.setProperty("zhangsan", "武汉");pro.setProperty("lisi", "河南");pro.setProperty("wangwu", "孝感");//pro.getProperty,根据键获取值类似于get方法System.out.println(pro.getProperty("lisi"));//pro.stringPropertyNames(),获取所有的键的集合类似于keySetSet<String> keys = pro.stringPropertyNames();for (String key : keys) {String value = pro.getProperty(key);System.out.println(key + "..." + value);}}
}打印结果:
--------------------------------------------------------------------------------------------
河南
lisi...河南
zhangsan...武汉
wangwu...孝感
3.properties与IO流相关的两个方法
//properties与IO流相关的两个方法【一般以配置文件使用,加#则表示注释】
public class Demo2 {public static void main(String[] args) throws IOException {Properties pro = new Properties();//load() 将本地文件的键值对数据读取到集合中FileReader fr = new FileReader("day12_myIoOtherStream\\src\\com\\itheima\\properties\\config.properties");pro.load(fr);fr.close();System.out.println(pro);//store() 将集合中的数据以键值对的形式保存到文件中pro.setProperty("wangmazi","25");FileWriter fw = new FileWriter("day12_myIoOtherStream\\src\\com\\itheima\\properties\\config.properties");pro.store(fw,"student");//第二个参数为注释【不支持中文】fw.close();}
}打印结果:【count=2为文件原有的内容】
--------------------------------------------------------------------------------------------
config.properties:#student#Fri Jul 09 20:48:58 CST 2021count=2wangmazi=25控制台:{count=2}
4.properties与IO流相关的方法应用
//配置文件要求:
//后缀以.properties结尾,内容格式:键=值,一个键值对独占一行
import java.io.*;
import java.util.Properties;//配置文件剩余次数
public class Demo3 {public static void main(String[] args) throws IOException {//1.创建集合存储Properties pro = new Properties();//2.创建流对象并指定文件FileReader br = new FileReader("day12_myIoOtherStream\\src\\com\\itheima\\properties\\config.properties");//3.调用集合load方法读取文件并得到键值对pro.load(br);br.close();//4.调用集合getProperty得到键对应的值String value = pro.getProperty("count");//判断值的大小//对字符串转化为整形再比较int number = Integer.parseInt(value);if(number>0){System.out.println("感谢你的使用,你的机会还次数"+(number-1)+"次");//使用一次则重新设置键对应的值-1pro.setProperty("count",(number-1)+"");FileWriter bw = new FileWriter("day12_myIoOtherStream\\src\\com\\itheima\\properties\\config.properties");pro.store(bw,null);bw.close();}else {System.out.println("你的次数用完了,请开通会员继续使用");}}
}打印结果:【count=2为文件原有的内容】
--------------------------------------------------------------------------------------------
config.properties:#Fri Jul 09 20:53:17 CST 2021count=1wangmazi=25控制台:感谢你的使用,你的机会还次数1次

Properties类与IO流相关推荐

  1. Java基础IO流概述、字符流、字节流、流操作规律、File类、Properties类、打印流、序列流

    IO流:(Input Output)流 字符流的由来:其实就是字节流读取文字字节数据后,不直接操作而是先查指定的码表,获取对应的文字进行操作 简单说:字符流 = 字节流 + 编码表 字节流的两个顶层父 ...

  2. Java学习笔记----File类与IO流

    第五章:File类与IO流 第一节:File类 1.1 概述 java.io.File类是文件和目录路径名的抽象表示,主要用于文件和目录的创建.查找和删除等操作 Java把电脑中的文件和文件夹(目录) ...

  3. Java中的File类和IO流

    Java中的File类和IO流 File类 java.io.File 类是文件和目录路径名的抽象表示,主要用于文件和目录的创建.查找和删除等操作. File的分隔符 import java.io.Fi ...

  4. Java语言高级(第四部分)File类与IO流 ->(个人学习记录笔记)

    文章目录 第六章 File类与IO流 1. File类 1.1 概述 1.2 构造方法 1.3 常用方法 获取功能的方法 绝对路径和相对路径 判断功能的方法 创建删除功能的方法 1.4 目录的遍历 2 ...

  5. JavaSE_第14章 File类与IO流

    第14章 File类与IO流 主要内容 File类 字节流 字符流 文件流 缓冲流 转换流 数据流 对象流 打印流 Scanner与System与IO流 教学目标 使用File类对象表示文件或目录 能 ...

  6. 第14章 File类与IO流

    第14章 File类与IO流 主要内容 File类 字节流 字符流 文件流 缓冲流 转换流 数据流 对象流 打印流 Scanner与System与IO流 教学目标 使用File类对象表示文件或目录 能 ...

  7. Java 语言基础(异常机制和File类,IO流,多线程,网络编程,反射机制)

    原文:Java 语言基础(异常机制和File类,IO流,多线程,网络编程,反射机制) 异常机制和File类 异常机制 基本概念 异常就是"不正常"的含义,在 Java 语言中主要指 ...

  8. JavaFile类与IO流

    JavaFile类与IO流 目录 JavaFile类与IO流 1 java.io.File类 1.1 概述 1.2 构造方法 1.3 常用方法 1.获取文件和目录基本信息的方法 2.各种路径问题 3. ...

  9. (java)IO流对象(六)集合Properties类、序列化流、反序列化流、打印流

    [Properties特点] /** 集合对象Properties类特点:* 1. 继承Hashtable,实现Map接口* 2. 该集合无泛型,键值都是字符串* 3. 键值可以存储到集合中,也可以存 ...

最新文章

  1. Reactjs 入门基础(一)
  2. python爬取boss直聘招聘信息_Python笔记-爬取Boss直聘的招聘信息
  3. 获取android屏幕大小
  4. PostGis基本操作-新建空间数据库与shp数据的导入
  5. 推荐一个免费的在线图片工具网站
  6. eleemnt-ui修改主题颜色
  7. 前端性能优化的重要方案:图片懒加载
  8. Java如何读取mysql存入es_java循环读取mysql并存入java集合里
  9. CCF202006-4 1246【矩阵快速幂】(100分题解链接)
  10. Windows与Linux下查看占用端口的进程
  11. 仿映客直播礼物特效制作流程
  12. 选择H5响应式网站建设的主要原因
  13. javascript高级一
  14. [PTA]习题4-2 求幂级数展开的部分和
  15. sx1268 中文_SX1268原理图_SX1268芯片datasheet_SX1268数据手册_SX1268无线收发器模块_SX1268用户手册_一牛网...
  16. 支付宝小程序开发体验
  17. 使用yarn add安装依赖时报错‘error An unexpected error occurred: “EINVAL: invalid argument, unlink ’
  18. OSChina 周二乱弹 —— 人家BAT出身,专业清洁经验三十年
  19. MIPI-CSI-2协议
  20. reshape(1,-1)与reshape(-1,1)的理解

热门文章

  1. CF79D Password(P3943 星空)
  2. 洛谷P6302:回家路线(斜率优化)
  3. 新汉诺塔(洛谷P1242)含第11个数据的解决办法
  4. 【2018.4.21】模拟赛之四-ssl2405 巧克力【实际上是模拟】
  5. 【单调队列】【DP】城市交通(jzoj 1749)
  6. 数学知识总结——矩阵
  7. Spring框架-事务管理注意事项
  8. Java:comp/env/讲解与JNDI
  9. js Date 函数方法
  10. XML解析(二),DOM解析XML