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. 手把手教你如何在Ubuntu系统中安装Pycharm

    前几天带大家一起安装了Ubuntu14.04系统,没来得及上车的伙伴可以戳这篇文章:手把手教你在VMware虚拟机中安装Ubuntu14.04系统.今天小编带大家一起在Ubuntu14.04中安装Py ...

  2. 【转】一篇关于32位Linux内核使用大内存的文章——Hugemem Kernel Explained  &nb

    红旗DC系列Linux操作系统(x86平台)中带有四类核心: UP (支持单内核) SMP (支持多内核) hugemem Icc* (用intel C编译器编译的核心) 其中hugemem核心往往引 ...

  3. pwd---以绝对路径的方式显示用户当前工作目录

    pwd命令以绝对路径的方式显示用户当前工作目录.命令将当前目录的全路径名称(从根目录)写入标准输出.全部目录使用/分隔.第一个/表示根目录,最后一个目录是当前目录.执行pwd命令可立刻得知您目前所在的 ...

  4. springboot 前后端分离开发解决跨域访问

    最近新学习了Java EE开发框架springboot,我在使用springboot前后台分离开发的过程中遇到了跨域求问题.在网上寻找答案的过程中发现网上的解决方案大多比较零散,我在这里整理一个解决方 ...

  5. ZOJ 2562 HDU 4228 反素数

    反素数: 对于不论什么正整数x,起约数的个数记做g(x).比如g(1)=1,g(6)=4. 假设某个正整数x满足:对于随意i(0<i<x),都有g(i)<g(x),则称x为反素数. ...

  6. 9.9递归和动态规划(六)——打印n对括号的所有有效组合(即左右括号正确配对)

    /**  * 功能:打印n对括号的所有有效组合(即左右括号正确配对). */ 两种方法: 方法一: /** * 思路:在括号的最前面或者原有的每对括号中面插入一对括号. 至于其它任何位置.比方字符串的 ...

  7. POJ 3039 搜索??? (逼近)

    思路: 抄的题解 这叫搜索? 难以理解 我觉得就是枚举+逼近 //By SiriusRen #include <cmath> #include <cstdio> #includ ...

  8. halt---关闭正在运行的Linux操作系统。

    halt命令用来关闭正在运行的Linux操作系统.halt命令会先检测系统的runlevel,若runlevel为0或6,则关闭系统,否则即调用shutdown来关闭系统. 语法 halt(选项) 选 ...

  9. Resource Access Based on Multiple Credentials

    A collection of multiple user credentials each associated with one of multiple different users is ob ...

  10. Lightoj 1127 - Funny Knapsack 【二分】

    题目链接:problem=1127">http://www.lightoj.com/volume_showproblem.php?problem=1127 题意:有n个物体(n< ...