Properties集合

package FileT.Day7;
/**
 * @author CCQ
 * Properties是一个集合,可用于IO流的集合,此类是hashtable类的子类。
 * 构造方法摘要
 *  Properties()
 *  创建一个无默认值的空属性列表。
 *  Properties(Properties defaults)
 *
 * 此类的特有方法
 *  String	getProperty(String key)
 *     用指定的键在此属性列表中搜索属性。创建一个带有指定默认值的空属性列表。
 *  Object	setProperty(String key, String value)
 *     调用 Hashtable 的方法 put。此方法可以规定集合的元素为String类型。
 *  Set<String>	stringPropertyNames()
 *     返回此属性列表中的键集,其中该键及其对应值是字符串.
 */

import java.util.Map;
import java.util.Properties;
import java.util.Set;

public class PropertiesTest {
    public static void main(String[] args) {
        Properties p =new Properties();
        p.put("001","棋棋");
        p.put("002","QQ");
        p.put("003","KK");
        p.put("004","瑶瑶");
        Set<Map.Entry<Object, Object>> entries = p.entrySet();
        for (Map.Entry<Object, Object> a :entries) {
            System.out.println(a.getKey()+"  "+a.getValue());
        }
        p.setProperty("005","婠婠");
        p.setProperty("006","七七");
        p.setProperty("007","鬼鬼");
        p.setProperty("008","世使");
        System.out.println(p.getProperty("004"));
        Set<String> strings = p.stringPropertyNames();
        for (String a :strings) {
            System.out.println(a+"  "+p.getProperty(a));
        }
    }
}

package FileT.Day7;

import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Properties;
import java.util.Set;

/**
 * @author CCQ
 * Properties集合将元素写入文件以及将文件读入到元素。
 *  void  load(InputStream inStream)
 *      从输入流中读取属性列表(键和元素对)。
 *  void  load(Reader reader)
 *      按简单的面向行的格式从输入字符流中读取属性列表(键和元素对)。
 *
 *   void store(OutputStream out, String comments)
 *     comments是描述信息。
 *     以适合使用 load(InputStream) 方法加载到 Properties 表中的格式,将此 Properties 表中的属性列表(键和元素对)写入输出流。
 *   void store(Writer writer, String comments)
 *     以适合使用 load(Reader) 方法的格式,将此 Properties 表中的属性列表(键和元素对)写入输出字符。
 */
public class PropertiesDemo {
    public static void main(String[] args) throws IOException {
        write();
        read();
    }

    private static void read() throws IOException {
        Properties p =new Properties();
        p.load(new FileReader("fox.txt"));
        Set<String> strings = p.stringPropertyNames();
        for (String a :strings) {
            System.out.println(a+"  "+p.getProperty(a));
        }
    }

    private static void write() throws IOException {
        Properties p =new Properties();
        p.put("001","棋棋");
        p.put("002","QQ");
        p.put("003","KK");
        p.put("004","瑶瑶");
        p.store(new FileWriter("fox.txt"),null);
    }
}

package FileT.Day7;
/**
 * @author CCQ
 * 猜数字小游戏,利用Properties集合以及字符流完成。
 * 玩家只能试玩三次,超过三次需要充值。
 */

import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Properties;
import java.util.Random;
import java.util.Scanner;

public class GameDemo {
    public static void main(String[] args) throws IOException {
        Properties p =new Properties();
        FileReader fr =new FileReader("fox.txt");
        p.load(fr);
        fr.close();
        int i =Integer.parseInt(p.getProperty("count"));
        FileWriter fw =new FileWriter("fox.txt",true);
            if (i>=3){
                System.out.println("游戏试玩已结束,想再次尝试请充值!");
                fw.close();
            }else {
                System.out.println("你还剩"+(3-i-1)+"次试玩机会!");
                i++;
                p.setProperty("count",String.valueOf(i));
                p.store(fw,null);
                game.start();
            }
      }
}

class game{
    public static void start(){
        System.out.println("猜数字游戏启动");
        Random random =new Random();
        int i = random.nextInt(100);
        Scanner sc =new Scanner(System.in);
        System.out.print("请输入数字:");
        int i1 = sc.nextInt();
        while(true){
            if (i1<i){
                System.out.println("猜小啦!重新猜吧!");
                i1 =sc.nextInt();
            }else if (i1>i){
                System.out.println("猜大啦!重新猜吧!");
                i1 =sc.nextInt();
            }else {
                System.out.println("恭喜你猜中啦!");
                return;
            }
        }
    }
}


class de{
    public static void main(String[] args) throws IOException {
        Properties p =new Properties();
        p.put("ccc","1");
        FileWriter fw =new FileWriter("fox.txt");
        p.store(fw,null);
        fw.close();
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值