java 21 - 14 Properties类
类 Properties
Properties 类表示了一个持久的属性集。Properties 可保存在流中或从流中加载。属性列表中每个键及其对应值都是一个字符串。
注意:Properties是Hashtable的子类,说明是一个Map集合。但是,它后面没有<>,说明它不是泛型类
首先把它当成Map使用看看:
Properties prop = new Properties();
// 添加元素
prop.put("it002", "hello");
prop.put("it001", "world");
prop.put("it003", "java");
// System.out.println("prop:" + prop);
// 遍历集合
Set<Object> set = prop.keySet();
for (Object key : set) {
Object value = prop.get(key);
System.out.println(key + "---" + value);
}
Properties类的特殊方法:
A、public Object setProperty(String key,String value):添加元素
B、public Set<String> stringPropertyNames():获取所有的键的集合
C、public String getProperty(String key):获取元素
示例:
public static void main(String[] args) {
//创建集合对象
Properties prop = new Properties();
//public Object setProperty(String key,String value):添加元素
prop.setProperty("哈士奇", "二哈");
prop.setProperty("萨摩耶", "小萨");
prop.setProperty("加菲猫", "胖子");
//public Set<String> stringPropertyNames():获取所有的键的集合
Set<String> s = prop.stringPropertyNames();
//public String getProperty(String key):获取元素
//遍历键集合
for(String key : s){
String result = prop.getProperty(key);
System.out.println(result);//打印出来的是值
System.out.println(key+"----"+result);//打印出来的是键值对
}
}
Properties集合和IO流的结合使用 (必须是Properties集合)
A、public void load(Reader reader):把文件中的数据读取到集合中
B、public void store(Writer writer,String comments):把集合中的数据存储到文件
首先试下A:public void load(Reader reader):把文件中的数据读取到集合中(文件中的数据必须是键值对的形式《“xxx=yyy”》)
private static void myLoad() throws IOException {
Properties prop = new Properties();
// public void load(Reader reader):把文件中的数据读取到集合中
// 注意:这个文件的数据必须是键值对形式
Reader r = new FileReader("prop.txt");
prop.load(r);
r.close();
System.out.println("prop:" + prop);
}
prop.txt中的内容是:哈士奇=二哈
萨摩耶=小萨 这样的键值对形式的数据 再试下B:public void store(Writer writer,String comments):把集合中的数据存储到文件
private static void myStore() throws IOException {
// 创建集合对象
Properties prop = new Properties();
prop.setProperty("哈士奇", "二哈");
prop.setProperty("萨摩耶", "小萨");
prop.setProperty("加菲猫", "胖子");
//public void store(Writer writer,String comments):把集合中的数据存储到文件
Writer w = new FileWriter("name.txt");
prop.store(w, "helloworld");
w.close();
}
生成的name.txt文件中,里面的内容也是跟prop.txt中的内容格式一样,都是键值对
实际应用:
在玩单机版游戏时,开始运行游戏,会自动生成一个游戏的数据文件夹。而里面有个文件就是存储你玩的游戏角色所具备的属性
例如:玩三国群英传,你会拥有武将,武将又会拥有武器
那么,当你拥有这个武将的时候,你点击保存,那文件里面就会存储一个键值对:吕布=1
而当你拥有了一把武器后,也会存储一个键值对:“菜刀=1”
。。。Properties集合是个持久的属性集合
java 21 - 14 Properties类的更多相关文章
- Java学习:Properties类
Java学习:Properties类 学习目标 认识properties文件,理解其含义,会正确创建properties文件. 会使用java.util.Properties类来操作propertie ...
- Java中的Properties类
目录 Java中的Properties类 前言 主要方法 读取Properties文件 相关实例 Java中的Properties类 前言 Java中的Properties类属于配置文件,以键值对的方 ...
- java编程中Properties类的具体作用和使用
如果不熟悉 java.util.Properties类,那么现在告诉您它是用来在一个文件中存储键-值对的,其中键和值是用等号分隔的.(如清单 1 所示).最近更新的java.util.Properti ...
- Java读写配置文件——Properties类的简要使用笔记
任何编程语言都有自己的读写配置文件的方法和格式,Java也不例外. 在Java编程语言中读写资源文件最重要的类是Properties,功能大致如下: 1. 读写Properties文件 2. 读写XM ...
- java编程中Properties类的具体作用和使用!
如果不熟悉 java.util.Properties类,那么现在告诉您它是用来在一个文件中存储键-值对的,其中键和值是用等号分隔的.(如清单 1 所示).最近更新的java.util.Properti ...
- Java API 之 Properties 类
1.简介 在项目中我们经常看到一种格式极其干净的配置文件,如:config.properties.在Java的体系结构中也提供了API对properties文件进行读取和写入等操作,即:Propert ...
- JAVA基础之Properties类、序列化流及打印流、commons-IO
个人理解: Properties类是个存储String类型的键值对的集合类,可以用其存储一些关键的账号密码什么的,同时后面的注释可以很好的帮助理解,但是需要注意的是其文件中不能出现其他的符号:序列化与 ...
- day1 java基础回顾- Properties类与配置文件
Properties配置文件说明 Properties类对应.properties文件.文件内容是键值对,键值对之间使用"="或空格隔开.开头是"#"的表示注释 ...
- Java 程序 关于Properties 类使用Store方法时不能会覆盖以前Properties 文件的内容
F:\\Demo.properties 文件内容: #\u65B0\u589E\u4FE1\u606F#Wed Sep 14 11:16:24 CST 2016province=广东tt=近蛋city ...
随机推荐
- mvc项目架构分享系列之架构搭建初步
mvc项目架构分享系列之架构搭建初步 Contents 系列一[架构概览] 0.项目简介 1.项目解决方案分层方案 2.所用到的技术 3.项目引用关系 系列二[架构搭建初步] 4.项目架构各部分解析 ...
- SharePoint 2013 使用PowerShell创建State Service
今天,搞SPD配置的sp2010wf迁移到sp2013环境上去,发布解决方案都很正常,给列表添加wf的时候报错“该表单无法显示,可能是由于 Microsoft SharePoint Server St ...
- 关于Fragment 不响应onActivityResult的情况分析 (
大家都知道,可以通过使用 startActivityForResult() 和 onActivityResult() 方法来传递或接收参数. 但你是否遭遇过onActivityResult()不执行或 ...
- iOS 模仿微信的照片选择器
功能和微信的基本一致. 这个选择器使用了循环方式,保证在浏览图片时内存中只加载最多3张图片.稳定的内存大小,可定义图片尺寸.详细说明在github. 下载地址: https://github.com/ ...
- Android SDK Manager 在win8.1上的闪退问题
全新安装的Windows 8.1的系统,Android SDK,JDK都是最新的版本,但是SDK Manager打开是命令行窗口一闪而过,就再没反映了. 通过搜索,确定了一个问题就是SDK目录tool ...
- Struts2(十一)OGNL标签三与Struts2标签
一.UI标签 二.简单例子 <h1>添加信息</h1> <!--通过指定theme的属性改变主题 --> <s:form action="" ...
- CollectionView 简用
创建一个CollectionView 分为几个步骤 1.先创建布局FlowLayout 设置布局格式 2.创建CollectionView 并使用布局Flowlayout -initWithFram ...
- Spring概述
layout: post title: Spring概述 tags: [Java,Spring,IOC,AOP] --- Spring是一个开源的轻量级Java SE(Java 标准版本)/Java ...
- Mac显示隐藏文件的终端命令
显示:defaults write com.apple.finder AppleShowAllFiles -bool true隐藏:defaults write com.apple.finder Ap ...
- 如何在Java Filter 中注入 Service
在项目中遇到一个问题,在 Filter中注入 Serivce失败,注入的service始终为null.如下所示: public class WeiXinFilter implements Filter ...