1.properties介绍

  java中的properties文件是一种配置文件,主要用于表达配置信息,文件类型为*.properties,格式为文本文件,文件的内容是格式是"键=值"的格式,在properties

文件中,可以用"#"来作注释,properties文件在Java编程中用到的地方很多,操作很方便。该类是是HashTable的子类因此Map结合的基本使用方法它都有,但是我们需要的是下面的额:

  2.特殊方法

    a. getProperty ( String key),用指定的键在此属性列表中搜索属性。也就是通过参数 key ,得到 key 所对应的 value。

    b. public void load (Reader reader),从输入流中读取属性列表(键和元素对)。通过对指定的文件(比如说上面的 test.properties 文件)进行装载来获取该文件中的所有键 - 值对。以供 getProperty ( String key) 来搜索。

    c. setProperty ( String key, String value) ,调用 Hashtable 的方法 put 。只不过是将put(k KEY,V value) 通过显式的指定为String 类型保证了只可以接受String类型的参数,在实际开发时,我们也经常需要使用这种方法,来包装一个父类的方法。

    d. public void store(Writer writer, String comments)  与 load 方法相反,该方法将键 - 值对写入到指定的文件中去。

    e.public Set<String> stringPropertyNames() 返回此属性列表中的键集,其中该键及其对应值是字符串,主要是用于遍历

//---------------------下面直接给出一个与IO流结合的demo,里面的解释已经很详细了。。。。。

 import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Reader;
import java.io.Writer;
import java.util.Properties; /*
* 这里的集合必须是Properties
* public void load(Reader reader) : 把文件中的数据读取到集合中
* public void store(Writer writer, String comments) : 把集合中的数据存储到文件
*
* 作用实现游戏进度的保存于加载
*/
public class PropertiesDemo1 {
public static void main(String[] args) throws IOException {
// myLoad(); // 将数据加载到集合中,load加载
myStore(); // 将集合中的数据存储到文件中, store写入
} private static void myStore() throws IOException {
// 创建集合对象
Properties prop = new Properties();
prop.setProperty("jav", "1");
prop.setProperty("c++", "2");
prop.setProperty("jvm", "3"); // public void store(Writer writer, String comments) : 把集合中的数据存储到文件
Writer w = new FileWriter("name.txt");
prop.store(w, null);
w.close();
} private static void myLoad() throws IOException {
// 创建集合对象
Properties prop = new Properties(); // public void load(Reader reader) : 把文件中的数据读取到集合中
// 而且这个文件必须是键值对的形式!此处有格式要求
Reader r = new FileReader("a.txt");
prop.load(r);
r.close(); System.out.println(prop);
}
}

//---------------

//下面的例子使用的文件就是上面demo创建的a.txt文件。自己在eclipse中创建文件即可在里面下上c=1换行写c++=2换行写java=3欧了。

 import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Reader;
import java.io.Writer;
import java.util.Properties;
import java.util.Set; /*
* 我有一个文本文件(user.txt),我知道数据是键值对形式的,但是不知道内容是什么。
* 请写一个程序判断是否有“c++”这样的键存在,如果有就改变其实为”100”
*
* 分析:
* A:把文件中的数据加载到集合中
* B:遍历集合,获取得到每一个键
* C:判断键是否有为"c++"的,如果有就修改其值为"100"
* D:把集合中的数据重新存储到文件中
*/
public class PropertiesDemo2 {
public static void main(String[] args) throws IOException {
// 创建集合对象
Properties prop = new Properties();
// 读取文件到集合
Reader r = new FileReader("name.txt");
prop.load(r);
r.close();
// 遍历获取键和值
Set<String> set = prop.stringPropertyNames(); // 获取键的集合
for (String key : set) {
if (key.equals("c++")) {
String value = prop.getProperty(key);
prop.setProperty(key, "100"); // 把指定键设置为100
//由于键是不可以重复的因此修改一次即可!!
break;
}
} // 将修改后的集合元素重新写入到文件中
Writer w = new FileWriter("name.txt");
prop.store(w, null);
w.close();
}
}

Java中Properties类的使用的更多相关文章

  1. Java中Properties类的学习总结

    学习目标: 1.认识properties文件,理解其含义,会正确创建properties文件. 2.会使用java.util.Properties类来操作properties文件. 一.认识prope ...

  2. Java中Properties类

    1 简介: JDK提供的java.util.Properties类继承自Hashtable类并且实现了Map接口,用map来存储key-value数据,所以存入的数据是无序的.其中键和值都是字符串类型 ...

  3. Java中Properties类知识的总结

    一.Properties类与配置文件 注意:是一个Map集合,该集合中的键值对都是字符串.该集合通常用于对键值对形式的配置文件进行操作. 配置文件:将软件中可变的部分数据可以定义到一个文件中,方便以后 ...

  4. Java中Properties类的操作

    知识学而不用,就等于没用,到真正用到的时候还得重新再学.最近在看几款开源模拟器的源码,里面涉及到了很多关于Properties类的引用,由于Java已经好久没用了,而这些模拟器大多用Java来写,外加 ...

  5. Java中Properties类的操作配置文件

    知识学而不用,就等于没用,到真正用到的时 候还得重新再学.最近在看几款开源模拟器的源码,里面涉及到了很多关于Properties类的引用,由于Java已经好久没用了,而这些模拟器大多用 Java来写, ...

  6. 对Java中properties类的理解

    转载于:https://www.cnblogs.com/bakari/p/3562244.html 一.Java Properties类 Java中有个比较重要的类Properties(Java.ut ...

  7. java中Properties类及读取properties中属性值

    本文为博主原创,未经允许不得转载: 在项目的应用中,经常将一些配置放入properties文件中,在代码应用中读取properties文件,就需要专门的类Properties类,通过这个类可以进行读取 ...

  8. Java 中 Properties 类的操作

    一.Java Properties类 Java中有个比较重要的类Properties(Java.util.Properties),主要用于读取Java的配置文件,各种语言都有自己所支持的配置文件,配置 ...

  9. java编程中Properties类的具体作用和使用

    如果不熟悉 java.util.Properties类,那么现在告诉您它是用来在一个文件中存储键-值对的,其中键和值是用等号分隔的.(如清单 1 所示).最近更新的java.util.Properti ...

随机推荐

  1. java枚举使用详解(转)

    在实际编程中,往往存在着这样的"数据集",它们的数值在程序中是稳定的,而且"数据集"中的元素是有限的. 例如星期一到星期日七个数据元素组成了一周的"数 ...

  2. MPI简介

    什么是MPI: MPI是一个库,而不是一门语言.但是按照并行语言的分类,可以把FORTRAN+MPI或者C+MPI看作是一种在原来串行语言基础上扩展后得到的并行语言.MPI库可以被FORTRAN77/ ...

  3. 如何用VS调试不属于解决方案的EXE和DLL程序

    如果你手里有一个现成的EXE, 以及EXE相关联PDB文件, 还有相关联的CPP文件和H文件. 你如何用VS调试? (当然你可以选择WinDbg.不过这里就讨论VS) 你或许想问我干嘛不从一开始就用V ...

  4. IIS URL Rewrite redirect from one Domain to another

    IIS URL Rewrite enables Web administrators to create powerful rules to implement URLs that are easie ...

  5. PDB重命名

    PDB重命名 将PDB clonedb重命名为rdb SQL> select name,open_mode from v$pdbs; NAME OPEN_MODE --------------- ...

  6. css 固定表头的表格,和 width:auto, margin:auto等 自计算方法

    实现思路: 外层用一个table,里面写好Header,然后里面再写一个table里面写好header.然后自己控制overflow的值使内部的tablemargin-top和外层的行高一致就可以实现 ...

  7. Ubuntu 16.04 LTS Final Beta

    期待已久的Ubuntu  LTS 版本开放了公测版本 Ubuntu 16.04 (Xenial Xerus) Daily Build(http://cdimage.ubuntu.com/daily-l ...

  8. 深度解析 Java 内存原型

    一.Java 虚拟机内存原型 寄存器:我们在程序中无法控制. 栈:存放基本类型的数据和对象的引用,但对象本身不存放在栈中,而是存放在 堆中. 堆:存放用 new 产生的数据. 静态域:存放在对象中用  ...

  9. 反射认识_04_反射调用类方法Method

    包1: package ReflectionMethod; public class ReflectionMethod { String str1="str1"; public v ...

  10. 南阳oj27题

    水池数目 时间限制:3000 ms  |  内存限制:65535 KB 难度:4 描述 南阳理工学院校园里有一些小河和一些湖泊,现在,我们把它们通一看成水池,假设有一张我们学校的某处的地图,这个地图上 ...