1、Properties类介绍

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

  (2)特点

  Hashtable的子类,map集合中的方法都可以用;

  该集合没有泛型。键值都是字符串;

  它是一个可以持久化的属性集。键值可以存储到集合中,也可以存储到持久化的设备(硬盘、U盘、光盘)上。键值的来源也可以是持久化的设备;

  有和流技术相结合的方法。

 import java.util.Properties;
import java.util.Set; /*
*
* Properties集合,它是唯一一个能与IO流交互的集合
*
* 需求:向Properties集合中添加元素,并遍历
*
* 方法:
* public Object setProperty(String key, String value)调用 Hashtable 的方法 put。
* public Set<String> stringPropertyNames()返回此属性列表中的键集,
* public String getProperty(String key)用指定的键在此属性列表中搜索属性
*/
public class PropertiesDemo01 {
public static void main(String[] args) {
// 创建集合对象
Properties prop = new Properties();
// 添加元素到集合
// prop.put(key, value);
prop.setProperty("a", "a1");
prop.setProperty("b", "b1");
prop.setProperty("c", "c1"); // System.out.println(prop);//测试的使用
// 遍历集合
Set<String> keys = prop.stringPropertyNames();
for (String key : keys) {
// 通过键 找值
// prop.get(key)
String value = prop.getProperty(key);
System.out.println(key + "==" + value);
}
}
}

2、将集合中内容存储到文件

  (1)需求:使用Properties集合,完成把集合内容存储到IO流所对应文件中的操作;

  (2)分析:

  创建Properties集合;

  添加元素到集合;

  创建流;

  把集合中的数据存储到流所对应的文件中。

 import java.io.FileWriter;
import java.io.IOException;
import java.util.Properties; public class PropertiesDemo02 {
public static void main(String[] args) throws IOException {
// 1,创建Properties集合
Properties prop = new Properties();
// 2,添加元素到集合
prop.setProperty("a", "a1");
prop.setProperty("b", "b1");
prop.setProperty("c", "c1"); // 3,创建流
FileWriter out = new FileWriter("d:\\Java\\prop.properties");
// 4,把集合中的数据存储到流所对应的文件中
prop.store(out, "save data");
// 5,关闭流
out.close();
}
}

  运行结果:在d盘根目录下生成prop.properties

  

3、读取文件中的数据,并保存到集合

  (1)需求:从属性集文件prop.properties 中取出数据,保存到集合中
  (2)分析:
  创建集合
  创建流对象
  把流所对应文件中的数据 读取到集合中
    load(InputStream)  把指定流所对应的文件中的数据,读取出来,保存到Propertie集合中
    load(Reader)  
  关闭流
  显示集合中的数据

 import java.io.FileInputStream;
import java.io.IOException;
import java.util.Properties; public class PropertiesDemo03 {
public static void main(String[] args) throws IOException {
// 1,创建集合
Properties prop = new Properties();
// 2,创建流对象
FileInputStream in = new FileInputStream("d:\\Java\\prop.properties");
// FileReader in = new FileReader("prop.properties");
// 3,把流所对应文件中的数据 读取到集合中
prop.load(in);
// 4,关闭流
in.close();
// 5,显示集合中的数据
System.out.println(prop); }
}

  运行结果:
  

  注意:使用字符流FileReader就可以完成文件中的中文读取操作了

00096_Properties类的更多相关文章

  1. Java类的继承与多态特性-入门笔记

    相信对于继承和多态的概念性我就不在怎么解释啦!不管你是.Net还是Java面向对象编程都是比不缺少一堂课~~Net如此Java亦也有同样的思想成分包含其中. 继承,多态,封装是Java面向对象的3大特 ...

  2. C++ 可配置的类工厂

    项目中常用到工厂模式,工厂模式可以把创建对象的具体细节封装到Create函数中,减少重复代码,增强可读和可维护性.传统的工厂实现如下: class Widget { public: virtual i ...

  3. Android请求网络共通类——Hi_博客 Android App 开发笔记

    今天 ,来分享一下 ,一个博客App的开发过程,以前也没开发过这种类型App 的经验,求大神们轻点喷. 首先我们要创建一个Andriod 项目 因为要从网络请求数据所以我们先来一个请求网络的共通类. ...

  4. ASP.NET MVC with Entity Framework and CSS一书翻译系列文章之第二章:利用模型类创建视图、控制器和数据库

    在这一章中,我们将直接进入项目,并且为产品和分类添加一些基本的模型类.我们将在Entity Framework的代码优先模式下,利用这些模型类创建一个数据库.我们还将学习如何在代码中创建数据库上下文类 ...

  5. ASP.NET Core 折腾笔记二:自己写个完整的Cache缓存类来支持.NET Core

    背景: 1:.NET Core 已经没System.Web,也木有了HttpRuntime.Cache,因此,该空间下Cache也木有了. 2:.NET Core 有新的Memory Cache提供, ...

  6. .NET Core中间件的注册和管道的构建(2)---- 用UseMiddleware扩展方法注册中间件类

    .NET Core中间件的注册和管道的构建(2)---- 用UseMiddleware扩展方法注册中间件类 0x00 为什么要引入扩展方法 有的中间件功能比较简单,有的则比较复杂,并且依赖其它组件.除 ...

  7. Java基础Map接口+Collections工具类

    1.Map中我们主要讲两个接口 HashMap  与   LinkedHashMap (1)其中LinkedHashMap是有序的  怎么存怎么取出来 我们讲一下Map的增删改查功能: /* * Ma ...

  8. PHP-解析验证码类--学习笔记

    1.开始 在 网上看到使用PHP写的ValidateCode生成验证码码类,感觉不错,特拿来分析学习一下. 2.类图 3.验证码类部分代码 3.1  定义变量 //随机因子 private $char ...

  9. C# 多种方式发送邮件(附帮助类)

    因项目业务需要,需要做一个发送邮件功能,查了下资料,整了整,汇总如下,亲测可用- QQ邮箱发送邮件 #region 发送邮箱 try { MailMessage mail = new MailMess ...

随机推荐

  1. 如何利用Python词云和wordart可视化工具对朋友圈数据进行可视化展示

    大前天我们通过Python网络爬虫对朋友圈的数据进行了抓取,感兴趣的朋友可以点击进行查看,如何利用Python网络爬虫抓取微信朋友圈的动态(上)和如何利用Python网络爬虫爬取微信朋友圈动态——附代 ...

  2. IDEA 热启动,每次更改代码后不用重启服务

    1.ctrl+Shift+Alt+/,选择Registry 2.勾选 compiler.automake.allow.when.app.running(可能不按首字母排序,可以多找找) 3.Setti ...

  3. 3D图形处理库

    转自 3D图形处理库 高性能软件光栅化渲染器 OpenSWR OpenSWR —— 用于OpenGL的高性能,高度可扩展的软件光栅化渲染器 OpenSWR的目的是提供一个高性能,高度可扩展的OpenG ...

  4. jquery2.0.3 全部源码

    /*! * Includes Sizzle.js 选择器,独立的库 * http://sizzlejs.com/ */ (function( window, undefined ) { //" ...

  5. J2msi 自己制作的把exe打成安装包简易GUI程序

    因为wix是用命令行执行的,操作比较麻烦,所以自己写了个wix生成安装包的图形操作程序, 原理很简单,主要用java 来执行 wix 的heat .candle 和 light 命令 ,最后生成安装文 ...

  6. OpenCV —— 图像局部与分割(二)

    分水岭算法 将图像中的边缘转化成“山脉”,将均匀区域转化为“山谷” 分水岭算法首先计算灰度图像的梯度,这对山谷或没有纹理的盆地(亮度值低的点)的形成有效,也对山头或图像中没有主导线段的山脉(山脊对应的 ...

  7. ssh-agent && 及 ssh-add介绍

    ssh-agent命令是一种控制用来保存公钥身份验证所使用的私钥的程序.ssh-agent在X会话或登录会话之初启动,所有其他窗口或程序则以客户端程序的身份启动并加入到ssh-agent程序中.通过使 ...

  8. read---读取变量值

    read命令从键盘读取变量的值,通常用在shell脚本中与用户进行交互的场合.该命令可以一次读取多个变量的值,变量和输入的值都需要使用空格隔开.在read命令后面,如果没有指定变量名,读取的数据将被自 ...

  9. Java-Spring-WebService最基础的配置示例

    很早很早之前,就初步学习了WebService,感觉还是比较"好"的.  使用Web服务,感觉就像普通API一样,和HTTP接口比较起来.  WebService有个很大的局限,就 ...

  10. BZOJ 1108 POI2007 天然气管道Gaz

    题目大意:给定平面上的n个黑点和n个白点.一个黑点仅仅能和右下方的白点匹配.代价为曼哈顿距离,求最小权值完备匹配 STO OTZ STO OTZ STO OTZ ans=Σ(y黑-y白+x白-x黑) ...