1.Properties类简介

Properties类(Java.util.Properties),主要用于读取Java的配置文件,各种语言都有自己所支持的配置文件,配置文件中很多变量是经常改变的,这样做也是为了方便用户,让用户能够脱离程序本身去修改相关的变量设置。像Python支持的配置文件是.ini文件,同样,它也有自己读取配置文件的类ConfigParse,方便程序员或用户通过该类的方法来修改.ini配置文件。在Java中,其配置文件常为.properties文件,格式为文本文件,文件的内容的格式是“键=值”的格式,文本注释信息可以用"#"来注释。

#person information
#Sat Dec 30 15:00:22 CST 2017
age=18
name=zhangsan

      

Properties的父类为 HashTable类。

Propertise类常用方法:

(1)setProperty ( String key, String value) : 调用 Hashtable 的方法 put 。他通过调用基类的put方法来设置 键 - 值对。

(2)getProperty ( String key):用指定的键在此属性列表中搜索属性。也就是通过参数 key ,得到 key 所对应的 value。

(3)load ( InputStream inStream):从输入流中读取属性列表(键和元素对)。

(4)store ( OutputStream out, String comments):将Properties 表中的属性列表(键和元素对)写入输出流。comments为注释参数。该方法将键 - 值对写入到指定的文件中去。

(5)list(System.out):打印配置文件信息到控制台。

(6)clear (),清除所有装载的 键 - 值对。该方法在基类中提供。

 

2.properties方法演示

 public class PropertiesDemo {

 	/**
 	 * Properties 常用到配置文件参数
 	 * @param args
 	 */
 	public static void main(String[] args) {
 		// TODO Auto-generated method stub

 //		methodDemo();
 //		methodDemo2();
 		methodDemo3();
 	}

 	private static void methodDemo3() {
 		// TODO Auto-generated method stub
 		Properties prop = new Properties();

 		//创建输ru流对象
 		FileInputStream inStream = null;
 		try {
 			inStream = new FileInputStream("H:\\workspace\\Testfile\\info.properties");
 			prop.load(inStream);//加载数据

 			prop.setProperty("name", "zhangsan");//修改参数

 			prop.list(System.out);//打印

 		} catch (IOException e) {
 			// TODO Auto-generated catch block
 			e.printStackTrace();
 		} finally{
 			if(inStream != null){
 				try {
 					inStream.close();
 				} catch (IOException e) {
 					// TODO Auto-generated catch block
 					throw new RuntimeException();
 				}
 			}
 		}

 	}

 	/**
 	 * 演示properties持久化
 	 */
 	private static void methodDemo2() {
 		// TODO Auto-generated method stub
 		Properties prop = new Properties();

 		prop.setProperty("name", "zhangsan");
 		prop.setProperty("");

 		//创建输出流对象
 		FileOutputStream fos = null;
 		try {
 			fos = new FileOutputStream("H:\\workspace\\Testfile\\info.properties");
 			prop.store(fos, "person information");//第二个参数为注释信息

 		} catch (IOException e) {
 			// TODO Auto-generated catch block
 			e.printStackTrace();
 		} finally{
 			if(fos != null){
 				try {
 					fos.close();
 				} catch (IOException e) {
 					// TODO Auto-generated catch block
 					throw new RuntimeException();
 				}
 			}
 		}

 	}

 	/**
 	 * 演示setProperty()和prop.list(System.out)
 	 */
 	private static void methodDemo() {
 		// TODO Auto-generated method stub
 		Properties prop = new Properties();

 		prop.setProperty("name", "zhangsan");
 		prop.setProperty("");

 		prop.list(System.out);//直接使用list方法打印输出

 	/*
 		Set<String> set = prop.stringPropertyNames();

 		for(String key : set){
 			String value = prop.getProperty(key);
 			System.out.println(key+":"+value);
 		}*/

 	}

 }

2017-12-30 内容来自创智播客课程

Java中Properties类的操作 - bakari - 博客园

Java I/O---Properties类(持久化键值对)的更多相关文章

  1. Java学习:Properties类

    Java学习:Properties类 学习目标 认识properties文件,理解其含义,会正确创建properties文件. 会使用java.util.Properties类来操作propertie ...

  2. Java中的Properties类

    目录 Java中的Properties类 前言 主要方法 读取Properties文件 相关实例 Java中的Properties类 前言 Java中的Properties类属于配置文件,以键值对的方 ...

  3. Java Dictionary 类存储键值

    字典(Dictionary) 字典(Dictionary) 类是一个抽象类,它定义了键映射到值的数据结构. 当你想要通过特定的键而不是整数索引来访问数据的时候,这时候应该使用Dictionary. 当 ...

  4. JAVA基础之Properties类、序列化流及打印流、commons-IO

    个人理解: Properties类是个存储String类型的键值对的集合类,可以用其存储一些关键的账号密码什么的,同时后面的注释可以很好的帮助理解,但是需要注意的是其文件中不能出现其他的符号:序列化与 ...

  5. java编程中Properties类的具体作用和使用

    如果不熟悉 java.util.Properties类,那么现在告诉您它是用来在一个文件中存储键-值对的,其中键和值是用等号分隔的.(如清单 1 所示).最近更新的java.util.Properti ...

  6. java 21 - 14 Properties类

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

  7. java编程中Properties类的具体作用和使用!

    如果不熟悉 java.util.Properties类,那么现在告诉您它是用来在一个文件中存储键-值对的,其中键和值是用等号分隔的.(如清单 1 所示).最近更新的java.util.Properti ...

  8. Java API 之 Properties 类

    1.简介 在项目中我们经常看到一种格式极其干净的配置文件,如:config.properties.在Java的体系结构中也提供了API对properties文件进行读取和写入等操作,即:Propert ...

  9. 《java JDK7 学习笔记》之键值对Map

    一.常用的Map操作类 1.使用HashMap Map也支持泛型语法,泛型的Map实例: 建立Map操作对象时,可以使用泛型语法指定键与值的类型.上图键使用String,值也使用String类型.要建 ...

随机推荐

  1. AIO5物料清单(BOM)列表,搜索编码和名称无效

    问题: AIO5物料清单(BOM)列表,搜索编码和名称无效.如图: 原因分析 AIO5的BOM是在二次开发平台上做的,在制作自定义单据的时候[查询参数设置]没有设置.如下图: 解决方案 工具:AIO5 ...

  2. JS获取URL参数的值

    function getQueryValue (key) { const reg = new RegExp('(^|&)' + key + '=([^&]*)(&|$)', ' ...

  3. AndroidStudio中各种常见快捷键记录

    AndroidStudio中各种常用操作快捷键记录 简单方法 直接设置AS的快捷键与eclipse相同,方便直接从eclipse切到AS的人. 常用的AS的默认快捷键 ctrl + N 根据类名查找J ...

  4. Android UsageStatsService(应用使用统计服务)的学习与调研

    一. 简介 UsageStatsService是一个系统服务,其主要通过AMS等,来监测并记录各个应用的使用数据,如上次调用com.android.settings的时间等. UsageStatsSe ...

  5. C#爬虫系列(一)——国家标准全文公开系统

    网上有很多Python爬虫的帖子,不排除很多培训班借着AI的概念教Python,然后爬网页自然是其中的一个大章节,毕竟做算法分析没有大量的数据怎么成. C#相比Python可能笨重了些,但实现简单爬虫 ...

  6. keepalived实现服务高可用

    第1章 keepalived服务说明 1.1 keepalived是什么? Keepalived软件起初是专为LVS负载均衡软件设计的,用来管理并监控LVS集群系统中各个服务节点的状态,后来又加入了可 ...

  7. tomcat8权限分离

    安装jdk tar xf jdk-8u121-linux-x64.tar.gz mv jdk-*  /usr/local/jdk1.8 vi /etc/profile export JAVA_HOME ...

  8. [Shell]crontab 运行任务调用shell脚本,相对路径无法找到

    问题出现的场景大概就是 1  cron调用一个python脚本 2  python脚本中调用一个shell脚本(对日志分析)获取shell输出然后发送邮件 类似一个监控任务. 直接运行python脚本 ...

  9. 指尖上的电商---(4).net开发solr

    这一节我们看下如何把查询数据放到server端存储,这里我们须要使用client工具来操作与服务端数据打交道,网上有好多基于.NET开发的SOLRclient,我们这里选择easynet.solr,非 ...

  10. 在线安装eclipse中html/jsp/xml editor插件(很可靠)

    之前有一篇文章也是安装eclipse中的web开发插件 ,可是经过非常多人使用,那种方法.不是全部人使用都能够. 接下来,找到一种很管用的方法.就是在线安装. 废话不多说,这样的方法绝对能够成功安装. ...