属性集合java.util.Properties
属性集合java.util.Properties
java.util.Properties集合 extends Hashtable<k, v> implements Map<k, v>
Properties类表示一个持久的属性集,可以保存在流中,或者从流中加载。是唯一一个和IO流相结合的集合。Properties集合是一个双列集合,key和value默认都是字符串
方法
方法 | 作用 |
---|---|
void store(OutputStream out, String comments) | 把集合的临时数据,持久化写到硬盘存储 |
void load(Writer writer, String comments) | 把硬盘的文件(键值对),读取到集合中使用 |
store方法使用步骤
- 创建Properties对象,添加数据
- 创建字节输出流/字符输出流对象,构造方法中绑定要输出的目的地
- 使用properties对象的store方法,把集合的临时数据持久化写入到硬盘
- 释放资源
package cn.zhuobo.day14.aboutProperties;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Properties;
import java.util.Set;
public class Demo01Properties {
public static void main(String[] args) throws IOException {
Properties properties = new Properties();
properties.setProperty("aaa","11");
properties.setProperty("bbb", "22");
properties.setProperty("ccc", "33");
// 使用字符输出流
FileWriter fw = new FileWriter("/home/zhuobo/Desktop/dir/prop.txt");
properties.store(fw, "store data");
// 使用字节输出流的匿名对象
properties.store(new FileOutputStream("/home/zhuobo/Desktop/dir/prop1.txt"), "");
Set<String> keySet = properties.stringPropertyNames();
for (String key : keySet) {
System.out.println(properties.getProperty(key));
}
fw.close();
}
}
键值对写入文件,键与值之间使用空格分隔也是和等号一样的效果,#后面的是注释
load方法使用
- 创建Properties对象
- 使用Properties对象的load方法读取保存键值对的文件
- 遍历Properties集合查看
// 创建Properties对象
Properties properties1 = new Properties();
// 使用Properties对象的load方法读取保存键值对的文件
properties1.load(new FileReader("/home/zhuobo/Desktop/dir/prop1.txt"));
// 遍历Properties集合查看
Set<String> keySet = properties.stringPropertyNames();
for (String key : keySet) {
System.out.println(key + "=" + properties.getProperty(key));
}
该集合有些特有的处理字符串的方法:
方法 | 作用 |
---|---|
Object setProperty(String key, String value) | 调用Hashtable的put方法 |
String getProperty(String key) | 相当于Map中的get方法,通过键获得值 |
Set StringPropertyNames() | 返回此属性列表的键值,其中该键值对应值都是字符串,此方法相当于Map集合的keySet方法 |
package cn.zhuobo.day14.aboutProperties;
import java.util.Properties;
import java.util.Set;
// 注意使用Properties集合特有的处理字符串的方法
public class Demo01Properties {
public static void main(String[] args) {
Properties properties = new Properties();
properties.setProperty("aaa","11");
properties.setProperty("bbb", "22");
properties.setProperty("ccc", "33");
Set<String> keySet = properties.stringPropertyNames();
for (String key : keySet) {
System.out.println(properties.getProperty(key));
}
*
属性集合java.util.Properties的更多相关文章
- java.util.Properties类 学习笔记
学习目标: 1.认识properties文件,理解其含义,会正确创建properties文件. 2.会使用java.util.Properties类来操作properties文件. 3.掌握相对路 ...
- 使用java.util.Properties类读写配置文件
J2SE 1.5 以前的版本要求直接使用 XML 解析器来装载配置文件并存储设置,虽说也并非难事,相比 java.util.Properties却要做额外的解析工作.而java.util.Proper ...
- java.util.Properties工具类
import java.io.FileNotFoundException; import java.io.FileWriter; import java.io.IOException; import ...
- Java.util.properties读取配置文件分析
Java.util.properties API链接: https://docs.oracle.com/javase/8/docs/api/java/util/Properties.html Clas ...
- Android中使用java.util.Properties犯的错
今天尝试使用java.util.Properties来保存应用配置,然而遇到了好几个问题,对于熟悉此内容的来说可能都是猪一样的错误,但难免有像我一样的新手再次遇到,希望此文能有所帮助. 错误1 jav ...
- JavaSE配置文件java.util.Properties【单例模式Singleton】
如果不是放在src文件夹里面,则: p.load(new BufferedInputStream(new FileInputStream("tank.properties"))); ...
- 关于java.util.Properties读取中文乱码的正确解决方案(不要再用native2ascii.exe了)
从Spring框架流行后,几乎根本不用自己写解析配置文件的代码了,但近日一个基础项目(实在是太基础,不能用硕大繁琐的Spring), 碰到了用java.util.Properties读取中文内容(UT ...
- 【Java笔记】配置文件java.util.Properties类的使用
配置文件的路径:项目名/src/main/resources/mmall.properties mmall.properties的内容是键值对.例如假设写了ftp服务器的一些信息. ftp.serve ...
- freemarker遍历java.util.Properties
java.util.Properties类 学习笔记 http://trans.blog.51cto.com/503170/110227/ FreeMarker代码 <#list systemP ...
随机推荐
- 【转】Qt之JSON保存与读取
简述 许多游戏提供保存功能,使得玩家在游戏中的进度可以被保存,并在以后再玩的时候进行加载.保存游戏的过程通常涉及将每个游戏对象的成员变量序列化为文件.要实现这个功能,可以采取许多格式,其中之一就是 J ...
- 【bfs】拯救少林神棍(poj1011)
Description 乔治拿来一组等长的木棒,将它们随机地砍断,使得每一节木棍的长度都不超过50个长度单位.然后他又想把这些木棍恢复到为裁截前的状态,但忘记了初始时有多少木棒以及木棒的初始长度.请你 ...
- 「SCOI2016」萌萌哒 解题报告
「SCOI2016」萌萌哒 这思路厉害啊.. 容易发现有个暴力是并查集 然后我想了半天线段树优化无果 然后正解是倍增优化并查集 有这个思路就简单了,就是开一个并查集代表每个开头\(i\)每个长\(2^ ...
- LVS-Keepalived高可用集群(NAT)
LEA-6-LVS-NAT+Keepalived高可用集群-------client-----------------主LVS-----------------从LVS---------------- ...
- Naive Operations HDU6315 (杭电多校2G)
让ci = ai / bi, 求sum(ci)的值,因为每次 ai 都是加一的,那么我可以用一颗线段树来维护每个 i 位置的 ai 距离达到 bi 还需要的数的最小值,更新是每次都减一,如果我某一个区 ...
- HDU5985 Lucky Coins 概率dp
题意:给你N种硬币,每种硬币有Si个,有Pi 概率朝上,每次抛所有硬币抛起,所有反面的拿掉,问每种硬币成为最后的lucky硬币的概率. 题解:都知道是概率dp,但是模拟赛时思路非常模糊,很纠结,dp[ ...
- 20165223《Java程序设计》第八周Java学习总结
教材学习内容总结 第12章-JAVA多线程机制 要点 Java中的线程 Thread类与线程的创建 线程的常用方法 线程同步 协调同步的线程 线程联合 GUI线程 计时器线程 教材学习中的问题和解决过 ...
- Windows系统服务管理
1.用SC命令管理: 启动redis服务: C:\Users\Administrator>sc start redis 停止redis服务: C:\Users\Administrator> ...
- css 禁止选中文本
css 如何禁止选中文字 .noselect { -webkit-touch-callout: none; /* iOS Safari */ -webkit-user-select: none; /* ...
- CF954F Runner's Problem(DP+矩阵快速幂优化)
这题是一年前某场我参加过的Education Round codeforces的F题,当时我显然是不会的. 现在看看感觉应该是能做出的. 不扯了写题解: 考虑朴素的DP,在不存在障碍的情况下:f[i] ...