Properties集合的练习

时间:2022-09-17 18:40:55

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集合&lowbar;修改配置信息

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

  7. Properties集合&lowbar;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. &dollar;&period;ajx的用法

    $.ajax({type:'post',//可选geturl:'action.php',//这里是接收数据的PHP程序data:'data='dsa'',//传给PHP的数据,多个参数用&连接 ...

  2. AAS代码运行-第11章-1

    启动PySpark export IPYTHON= # PySpark也可使用IPython shell pyspark --master yarn --num-executors 发生如下错误: / ...

  3. NSURLSession使用说明及后台工作流程分析

    原文摘自http://www.cocoachina.com/industry/20131106/7304.html NSURLSession是iOS7中新的网络接口,它与咱们熟悉的NSURLConne ...

  4. DAL、DAO、ORM、Active Record辨析

    转自:http://blog.csdn.net/suiye/article/details/7824943 模型 Model 模型是MVC中的概念,指的是读取数据和改变数据的操作(业务逻辑).一开始我 ...

  5. Mysql数据备份与恢复命令

    转载:原文地址 一.备份常用操作基本命令 1.备份命令mysqldump格式 格式:mysqldump -h主机名 -P端口 -u用户名 -p密码 –database 数据库名 > 文件名.sq ...

  6. log4j(七)——log4j&period;xml简单配置样例说明

    一:测试环境与log4j(一)--为什么要使用log4j?一样,这里不再重述 二:老规矩,先来个栗子,然后再聊聊感受 (1)这里栗子有一点特别呀!给出了包名唉!想必有用,是的,配置文件中要特别说明一下 ...

  7. opacity的背景透明&amp&semi;background中rgba的背景色透明

    近期使用css实现了一个loading旋转加载的图片效果,类似gif动画 过程中,需要透明背景,但是图片不要透明 只要背景透明!只要背景透明!只要背景透明! 这里对透明模糊了,两种写法,模糊了 A: ...

  8. 分布式进阶&lpar;二&rpar;Ubuntu 14&period;04下安装Dockr图文教程&lpar;二&rpar;

    4.1 构建我们自己的映像 构建Docker映像有两种方法: •通过docker commit(提交)命令 •通过docker build(构建)命令以及Docker文件(Dockerfile) 目前 ...

  9. linux switch 跳转到 ”跳转至 case 标号&OpenCurlyDoubleQuote; 的错误

    参考链接:  http://blog.csdn.net/qustdjx/article/details/8636489

  10. Python自学&colon;第二章 动手试一试

    print(1 + 7) print(16 - 8) print(2 * 4) print(8 / 1) 输出为: 8 8 8 8.0 message = " print("I l ...