1、更改文件中的数据,特定键的值:

需求:我有一个文本文件(user.txt),我知道数据是键值对形式的,但是不知道内容是什么。
   请写一个程序判断是否有“lisi”这样的键存在,如果有就改变其值为”100”
分析:
  A:把文本文件中的数据加载到Properties集合中
  B:获取该集合的键集合
  C:遍历键集合,进行判断是否是lisi键
          是:更改为“100”
          不是:不理
  D:把更改后的集合数据存储到文本中

 public class PropertiesTest1 {

     public static void main(String[] args) throws IOException {

         //创建集合
Properties prop = new Properties();
Reader r = new FileReader("user.txt");
//public void load(Reader reader):把文件中的数据读取到集合中
prop.load(r);
r.close(); //遍历集合,获取键集合
//public Set<String> stringPropertyNames()返回此属性列表中的键集,
//其中该键及其对应值是字符串,如果在主属性列表中未找到同名的键,则还包括默认属性列表中不同的键
Set<String> s = prop.stringPropertyNames();
for(String key : s){
if(prop.get(key).equals("lisi")){
prop.setProperty(key, "100");
}
} //把集合中的数据存储到文本中
Writer w = new FileWriter("user.txt");
prop.store(w,"更改后");
w.close(); } }

2、一些游戏,都有试玩次数或者关卡,当玩到特定的次数或者关卡时,就要求付费。。。来试试如何实现:

下面是次数版本,关卡差不多。

需求:

    我有一个猜数字小游戏的程序,请写一个程序实现在测试类中只能用5次,超过5次提示:游戏试玩已结束,请付费。
分析:
    A:创建一个文本文件,里面写一段键值对数据:count=0(不需要程序创建)
    B:创建properties集合,把文本中的数据加载到集合中
    C:获取count键的值
    D:判断次数
        超过5次:提示
        不超过:count键的值+1,并把这段数据重新存储到文本文件中,继续游戏

 public class PropertiesTest2 {

     public static void main(String[] args) throws IOException {

         //创建集合
Properties prop = new Properties();
//把文本的数据加载到集合中
Reader r = new FileReader("count.txt");
prop.load(r);
r.close(); //获取count键的值
String value = prop.getProperty("count");
//把字符串的值转换成int,方便判断
int number = Integer.parseInt(value); //对number进行判断
if(number > 5){
System.out.println("试玩次数已到,请付费");
System.exit(0);
}
else{
number ++;
//重新把数据存储到文本中 //number必须转成字符串
prop.setProperty("count", String.valueOf(number));
Writer w = new FileWriter("count.txt");
//存储
prop.store(w, null);
w.close();
//继续
GuessGame.start();
} } }

。。。产生随机数并猜测判断的类,不写了

Properties集合的练习的更多相关文章

  1. 黑马程序员——【Java基础】——File类、Properties集合、IO包中的其他类

    ---------- android培训.java培训.期待与您交流! ---------- 一.File类 (一)概述 1.File类:文件和目录路径名的抽象表现形式 2.作用: (1)用来将文件或 ...

  2. java基础知识回顾之java集合类-Properties集合

    /** java.lang.Object   |--java.util.Dictionary<K,V>      |--java.util.Hashtable<Object,Obje ...

  3. Properties集合

    Map |--Hashtable |--Properties Properties集合特点: 1.该集合中的键和值都是字符串类型 2.集合中的数据可以保存在IO流中或者从IO流中获取数据. 通常该集合 ...

  4. -1-3 java集合框架基础 java集合体系结构 Collection 常用java集合框架 如何选择集合 迭代器 泛型 通配符概念 Properties 集合 迭代器

    集合又称之为容器存储对象的一种方式 •数组虽然也可以存储对象,但长度是固定的:显然需要可变长度的容器 集合和数组的区别?                 A:长度区别                  ...

  5. IO流--与properties集合配合使用

    IO流--与properties集合配合使用: 注:生产上主要用于常量文件的配置,读取常量文件: 1:properties集合的放值与取值: /* * properties集合继承自hashTable ...

  6. Properties集合_修改配置信息

    集合中的数据来自于一个文件  注意:必须要保证该文件中的数据是键值对.  需要使用到读取流 使用load()方法读取已有文件中的数据,存储到Properties集合中 public class Pro ...

  7. Properties集合_list方法与store方法

    Properties集合和流对象结合的功能 list()方法: import java.util.Properties; public class PropertiesDemo { public st ...

  8. Properties集合概述与存和取

    Properties集合:(Map集合下的Hashtable集合下的一个子类) 特点: 1.集合中的键和值都是字符串 2.集合中的数据可以保存到流中,或者从流中获取 该集合通常用于操作以键值对形式存在 ...

  9. Java中Properties集合总结

    一:定义 表示一个持久的集,可以存在流中或者从流中加载.用来读取Java的配置文件,在Java中为.properties为后缀名的文本文件. 二:特点 是 Hashtable子类,map集合方法都可以 ...

随机推荐

  1. winform(容器、打印、对话框)

    一.布局:2个属性:Anchor:锁定位置Dock:填充位置一般Dock是与容器控件配合使用 二.容器控件:Panel:就是一个区域,类似于DIV,可以独立布局,还可以让其它控件及容器在它的内部再次布 ...

  2. 浅谈ES6中的Proxy

    Proxy是一个很有趣的对象,它能够修改某些操作的默认行为,等同于在语言层面做出修改,属于一种‘元编程’,即对编程语言进行编程. Proxy其实很好理解,就是在目标对象之前架设一层拦截,外界的访问都得 ...

  3. ASP.NET页面动态添加js脚本

    有时我们需要生成自己的JavaScript代码并在运行时动态添加到页面,接下来我们来看一下如何将生成的JavaScript代码动态添加到ASP.NET页面. 为了添加脚本,要将自定义的脚本在一个字符串 ...

  4. db2死锁分析与处理

    在数据库中,锁的主要功能是为了控制并发数据的完整性而引入的机制,在并发应用中出现锁现象并不可怕,锁现象通常分为死锁和锁等待两种情形. 死锁是因为两个并发的进程或者线程同时各自占有一个资源,又需要占有对 ...

  5. ABAP中正则表达式的简单使用方法 (转老白BLOG)

    在一个论坛上面看到有人在问正则表达式的问题,特举例简单说明一下.另外,REPLACE也支持REGEX关键字.最后:只能是ECC6或者更高版本才可以(ABAP supports POSIX regula ...

  6. SharePoint 2010 文档管理系列之星级评论功能

    前言:正如我们前面介绍的是,文档管理就是让大家更加直观.方便的对手里的文档,进行统筹掌控,哪些文档是有价值的,哪些文档更受大家欢迎,所有就带来了这个星级评论. 当然,这个是SharePoint 201 ...

  7. iOS网络检测Reachability 使用 Demo,可检测2、3、4G

    你可以在Github下载这个Demo https://github.com/JanzTam/Reachability_Demo 首先,引入系统的Reachability类,不知道怎么引入的话,在Xco ...

  8. Swift之map函数的强大之处

    CollectionType Map 在CollectionType的extension中map方法的定义: extension CollectionType { /// Return an `Arr ...

  9. 网络请求的基本知识《极客学院 --AFNetworking 2.x 网络解析详解--1》学习笔记

    网络请求的基本知识   我们网络请求用的是HTTP请求 Http请求格式:请求的方法,请求头,请求正文 Http请求的Request fields:请求的头部,以及被请求头部的一些设置 Http请求的 ...

  10. Spring-2-H Array Diversity(SPOJ AMR11H)解题报告及测试数据

    Array Diversity Time Limit:404MS     Memory Limit:0KB     64bit IO Format:%lld & %llu   Descript ...