学习笔记,仅供参考,有错必纠


文章目录

  • Properties类
    • Properties类概述
    • Properties类的特殊功能
    • Properties的load和store功能

Properties类

Properties类概述

Properties 类表示了一个持久的属性集;Properties 可保存在流中或从流中加载;属性列表中每个键及其对应值都是一个字符串

  • 举个例子

JAVA代码:

package com.guiyang.restudy3;import java.util.Properties;public class D10Properties {public static void main(String[] args) {Properties properties = new Properties();properties.put("name", 123);System.out.println(properties);}}

输出:

{name=123}

Properties类的特殊功能

  • setProperty方法
public Object setProperty(String key, String value)

调用Hashtable的方法put,使用 getProperty 方法提供并行性,强制要求为属性的键和值使用字符串,返回值是Hashtable调用put的结果。

  • getProperty方法
public String getProperty(String key)

用指定的键在此属性列表中搜索属性,如果在此属性列表中未找到该键,则接着递归检查默认属性列表及其默认值,如果未找到属性,则此方法返回null。

  • propertyNames方法
public Enumeration<?> propertyNames()

返回属性列表中所有键枚举,如果在主属性列表中未找到同名的键,则包括默认属性列表中不同的键。

  • 举个例子
package com.guiyang.restudy3;import java.util.Enumeration;
import java.util.Properties;public class D10Properties {public static void main(String[] args) {Properties properties  = new Properties();properties.setProperty("name", "Ada");properties.setProperty("tel", "15706219084");Enumeration<String> enumeration = (Enumeration<String>) properties.propertyNames();while (enumeration.hasMoreElements()) {String key = enumeration.nextElement();String value = properties.getProperty(key);System.out.println(key + ":" + value);         }       }
}

输出:

name:Ada
tel:15706219084

Properties的load和store功能

  • load方法
public void load(Reader reader)

按简单的面向行的格式从输入字符流中读取属性列表(键和元素对)。

public void load(InputStream inStream)

从输入流中读取属性列表(键和元素对)。

  • store方法
public void store(Writer writer, String comments)

以适合使用 load(Reader) 方法的格式,将此 Properties 表中的属性列表(键和元素对)写入输出字符。

public void store(OutputStream out, String comments)

以适合使用 load(InputStream) 方法加载到 Properties 表中的格式,将此 Properties 表中的属性列表(键和元素对)写入输出流。

  • 举个例子

配置文件config.properties:

qq=1033794241
name=Jack
tel=15395298980
username=Ada

JAVA文件:

package com.guiyang.restudy3;import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Enumeration;
import java.util.Properties;public class D10Properties {public static void main(String[] args) throws IOException {Properties properties  = new Properties();properties.load(new FileInputStream("config.properties"));System.out.println(properties);System.out.println("---------");properties.setProperty("name", "Huang");properties.store(new FileOutputStream("config.properties"), "Info");     System.out.println(properties);}
}

输出:

{qq=1033794241, tel=15395298980, name=Jack, username=Ada}
---------
{qq=1033794241, tel=15395298980, name=Huang, username=Ada}

配置文件config.properties:

#Info
#Thu Aug 27 19:41:33 CST 2020
qq=1033794241
tel=15395298980
name=Huang
username=Ada

第三次学JAVA再学不好就吃翔(part114)--Properties类相关推荐

  1. 第三次学JAVA再学不好就吃翔(part107)--字符流的拷贝

    学习笔记,仅供参考,有错必纠 文章目录 IO流 字符流的拷贝 拷贝纯文本文件 注意事项 自定义字符数组的拷贝 IO流 字符流的拷贝 拷贝纯文本文件 zzz.txt: 安徽财经大学 JAVA代码: pa ...

  2. java tomcat 读取配置文件端口_跟我学Java编程—应用读写项目配置文件的Properties类...

    我们在开发软件项目时,经常需要读取项目的一些配置数据.例如,项目里用到的数据库链接地址.Tomcat服务端口号.数据文件备份地址等信息都需要放到一个配置文件里,由程序读取并获取.这样做的好处是,当需要 ...

  3. 第三次学JAVA再学不好就吃翔(part106)--字符流

    学习笔记,仅供参考,有错必纠 文章目录 IO流 字符流输入流FileReader 字符流是什么 FileReader类构造方法 举个例子 字符流输出流FileWriter FileWriter构造方法 ...

  4. 第三次学JAVA再学不好就吃翔(part46)--Scanner类

    学习笔记,仅供参考 文章目录 Scanner类 Scanner获取数据出现的问题 Scanner类 概述 Scanner是在java.util包下的一个类,使用该类时我们需要导包.这个类被final修 ...

  5. 第三次学JAVA再学不好就吃翔(part117)--单例设计模式

    学习笔记,仅供参考,有错必纠 文章目录 多线程 单例设计模式 饿汉式 懒汉式 第三种格式 Timer类 线程的五种状态 多线程 单例设计模式 单例设计模式,即保证类在内存中只有一个对象,如何保证类在内 ...

  6. 第三次学JAVA再学不好就吃翔(part109)--LineNumberReader类

    学习笔记,仅供参考,有错必纠 IO流 LineNumberReader类 该类继承自java.io.BufferedReader,该类可以跟踪行号的缓冲字符输入流.此类定义了方法 setLineNum ...

  7. 第三次学JAVA再学不好就吃翔(part108)--带缓冲的字符流

    学习笔记,仅供参考,有错必纠 文章目录 IO流 带缓冲的字符流 BufferedReader和BufferedWriter readLine和newLine方法 IO流 带缓冲的字符流 Buffere ...

  8. 第三次学JAVA再学不好就吃翔(part7)--基础语法之运算符

    学习笔记,仅供参考 文章目录 JAVA基础语法 运算符 算数运算符 算术运算符 ++和-- 赋值运算符 关系运算符 JAVA基础语法 运算符 什么是运算符 就是对常量和变量进行操作的符号. 运算符的分 ...

  9. 第三次学JAVA再学不好就吃翔(part115)--多线程

    学习笔记,仅供参考,有错必纠 文章目录 多线程 多线程引入 什么是线程 多线程并行和并发的区别 Java程序运行原理 多线程的实现方式 多线程实现的方式1 多线程程序实现的方式2 以上两种实现方式的区 ...

最新文章

  1. 哪种编程语言最适合初学者?
  2. SAP HUM嵌套HU研习之HU03显示内层HU数据
  3. 升级asp.net1.0到1.1
  4. python123测验9程序题_python程序设计实验二
  5. netty并发量一般多少_Netty框架简介
  6. echart多个柱状图 设置y轴显示_Echart可视化学习笔记(五)
  7. linux服务器禁ip策略,Linux服务器自动封禁访问异常的IP脚本(一)
  8. 精通那么多技术,你为何还是受不到重用?
  9. android之uniapp自定义基座
  10. SQL Identity自增列清零方法
  11. matlab求两向量夹角_高考数学一轮复习,利用空间向量求夹角和距离,各考点聚焦突破...
  12. HTML网上商城后台图片模板,网上购物商城前后台完整模板
  13. 窗户控制app开发day1(机智云的二次开发之换皮肤)
  14. solidworks 之迈迪同步轮尺寸与设计不复的解决
  15. 迅捷新版PDF转换器
  16. 分布式系统可用性与一致性
  17. Python IDLE的下载,安装和使用
  18. python二维数组去重复_python 去除二维数组/二维列表中的重复行方法
  19. springBoot学习2--整合篇--基于狂神说
  20. 卷子打印用什么软件,什么软件可直接扫描试卷打印

热门文章

  1. 【数学基础】拉格朗日乘子法
  2. 斯坦福大学机器学习第四课“逻辑回归(Logistic Regression)”
  3. vba 压缩图片_1分钟批量处理100张图片,Word图片批量压缩/提取/居中统统搞定
  4. redis 存储数据不设置过期时间 会自动过期吗_Redis-数据淘汰策略持久化方式(RDB/AOF)Redis与Memcached区别...
  5. Activity和Service的生命周期-----Activity学习笔记(一)
  6. React Native实现一个带筛选功能的搜房列表(2)
  7. Kanboard简单的可视化任务板,项目管理
  8. AutoMapper在ABP框架中的使用说明
  9. OS X开发:NSProgressIndicator进度指示器控件
  10. 2017-5-17 分析文本