Java I/O---Properties类(持久化键值对)
1.Properties类简介
Properties类(Java.util.Properties),主要用于读取Java的配置文件,各种语言都有自己所支持的配置文件,配置文件中很多变量是经常改变的,这样做也是为了方便用户,让用户能够脱离程序本身去修改相关的变量设置。像Python支持的配置文件是.ini文件,同样,它也有自己读取配置文件的类ConfigParse,方便程序员或用户通过该类的方法来修改.ini配置文件。在Java中,其配置文件常为.properties文件,格式为文本文件,文件的内容的格式是“键=值”的格式,文本注释信息可以用"#"来注释。
|
#person information |
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类(持久化键值对)的更多相关文章
- Java学习:Properties类
Java学习:Properties类 学习目标 认识properties文件,理解其含义,会正确创建properties文件. 会使用java.util.Properties类来操作propertie ...
- Java中的Properties类
目录 Java中的Properties类 前言 主要方法 读取Properties文件 相关实例 Java中的Properties类 前言 Java中的Properties类属于配置文件,以键值对的方 ...
- Java Dictionary 类存储键值
字典(Dictionary) 字典(Dictionary) 类是一个抽象类,它定义了键映射到值的数据结构. 当你想要通过特定的键而不是整数索引来访问数据的时候,这时候应该使用Dictionary. 当 ...
- JAVA基础之Properties类、序列化流及打印流、commons-IO
个人理解: Properties类是个存储String类型的键值对的集合类,可以用其存储一些关键的账号密码什么的,同时后面的注释可以很好的帮助理解,但是需要注意的是其文件中不能出现其他的符号:序列化与 ...
- java编程中Properties类的具体作用和使用
如果不熟悉 java.util.Properties类,那么现在告诉您它是用来在一个文件中存储键-值对的,其中键和值是用等号分隔的.(如清单 1 所示).最近更新的java.util.Properti ...
- java 21 - 14 Properties类
类 Properties Properties 类表示了一个持久的属性集.Properties 可保存在流中或从流中加载.属性列表中每个键及其对应值都是一个字符串. 注意:Properties是Has ...
- java编程中Properties类的具体作用和使用!
如果不熟悉 java.util.Properties类,那么现在告诉您它是用来在一个文件中存储键-值对的,其中键和值是用等号分隔的.(如清单 1 所示).最近更新的java.util.Properti ...
- Java API 之 Properties 类
1.简介 在项目中我们经常看到一种格式极其干净的配置文件,如:config.properties.在Java的体系结构中也提供了API对properties文件进行读取和写入等操作,即:Propert ...
- 《java JDK7 学习笔记》之键值对Map
一.常用的Map操作类 1.使用HashMap Map也支持泛型语法,泛型的Map实例: 建立Map操作对象时,可以使用泛型语法指定键与值的类型.上图键使用String,值也使用String类型.要建 ...
随机推荐
- 如何优化Cocos2d-X游戏的内存
在游戏项目优化中都会碰到一个问题,如何既能减少内存又能尽量减少包的大小?在实际项目中有些经验分享一下,事实上2D游戏中最占内存的就是图片资源,一张图片使用不同的纹理格式带来的性能差异巨大,下表是我在I ...
- 鼠标相关操作(Cursor类及相关API)
Cursor.visible:属性,显示或者隐藏鼠标. Cursor.lockState = CursorLockMode.Locked:锁定鼠标到游戏窗口的中心. (CursorLockMode: ...
- Ali OSS 服务端签名并设置回调,客户端上传文件
一.最近做阿里云oss文件上传开发,一点收获分享给大家,帮助大家绕过一些坑.关于阿里云oss服务的介绍,我这里不做赘述了,可以查看阿里云OSS开发api文档. 在这里我主要介绍下,文件上传流程比较复杂 ...
- 【转】three.js详解之入门篇
原文链接:https://www.cnblogs.com/shawn-xie/archive/2012/08/16/2642553.html 开场白 webGL可以让我们在canvas上实现3D效 ...
- [转] linux系统中如何进入退出vim编辑器,方法及区别
原文链接:http://www.cnblogs.com/crazylqy/p/5649860.html 在linux家族中,vim编辑器是系统自带的文本编辑器,其功能强大自不必说了. 偶有小白,刚接触 ...
- Spring Cloud Feign 整合 Hystrix
在前面随笔Spring Cloud 之 Feign的feign工程基础上进行改造 1.pom.xml依赖不变 2.application.yml文件添加feign.hystrix.enabled=tr ...
- input required
HTML <input> required 属性 HTML <input> 标签 实例 带有必填字段的 HTML 表单: <form action="demo ...
- centOS 搭建pipelineDB docs
#下载docs git clone https://github.com/pipelinedb/docs.git #安装python-sphinx &python-dev yum instal ...
- YiShop_商城系统如何做好口碑营销
口碑营销是指企业在品牌建立过程中,通过客户间的相互交流将自己的产品信息或者品牌传播开来.口碑是目标,营销是手段,产品是基石.那么,商城系统如何做好口碑营销呢? 下面由YiShop小编带你了解一下:1 ...
- vs2015 制作安装包额外需要安装的软件VSI_bundle
vs2015 制作安装包额外需要安装的软件VSI_bundle 下载地址:http://files.cnblogs.com/files/sdner/VSI_bundle.rar