Java入门(四十四)

Properties和IO流结合的方法

方法名 说明
void load(InputStream inStream) 从输入字节流读取属性列表(键和元素对)
void load(Reader reader) 从输入字符流属性列表(键和元素对)
void store(OutputStream out,String comments) 将此属性列表(键和元素对)写入此Properties表中,以适合于使用load(InputStream)方法的格式写入输出字节流
void store(Writer writer,String comments) 将此属性列表(键和元素对)写入此Properties表中,以适合使用load(Reader)方法的格式写入输出字符流
import java.io.FileWriter;
import java.io.IOException;
import java.util.Properties;

public class PropertiesDemo03 {
    public static void main(String[] args) throws IOException{
        //将集合中的数据保存到文件
        myStore();
        //把文件中的数据加载到集合
    }

    private static void myStore() throws IOException {
        Properties prop = new Properties();
        prop.setProperty("itheima001","林青霞");
        prop.setProperty("itheima002","张曼玉");
        prop.setProperty("itheima003","王祖贤");
        FileWriter fw = new FileWriter("/home/ding/IdeaProjects/Study/src/com/itheima_05/fw.txt");
        prop.store(fw,null);
        fw.close();
    }
}

Java入门(四十四)_第1张图片

    public static void main(String[] args) throws IOException{
        //将集合中的数据保存到文件
//        myStore();
        //把文件中的数据加载到集合
        myLoad();
    }

    private static void myLoad() throws IOException{
        Properties prop = new Properties();
        FileReader fr = new FileReader("/home/ding/IdeaProjects/Study/src/com/itheima_05/fw.txt");
        prop.load(fr);
        fr.close();
        System.out.println(prop);
    }

Java入门(四十四)_第2张图片

游戏次数

  • 需求:请写程序实现猜数字小游戏只能试玩3次,如果还想玩,提示:游戏试玩已经结束,想玩请充值(www.itcast.cn)
  • 思路:
  1. 写一个游戏类,里面有一个猜数字的小游戏
  2. 写一个测试类,测试类中有main方法,main方法中按照下面步骤完成
    A:从文件中读取数据到Properties集合,用load()方法实现
    文件已经存在:game.txt
    里面有一个数据值:count=0
    B:通过Properties集合获取到玩游戏的次数
    C:判断次数是否到3次了
    如果到了,给出提示:游戏试玩已经结束,想玩请充值(www.itcast.cn)
    如果不到3次:
    玩游戏
    次数+1,,重新写回文件,用Properties的store()方法实现
  • 猜数字的游戏类
import java.util.Random;
import java.util.Scanner;

public class GuessNumber {
    private GuessNumber(){};
    public static void start(){
        //要完成猜数字游戏,首先需要一个要猜的数字,使用随机生成的数字,范围1到100
        Random r = new Random();
        int number = r.nextInt(100) + 1;
        while(true){
            //使用程序实现猜数字,每次均要输入猜测的数字值,需要使用键盘录入实现
            Scanner sc = new Scanner(System.in);
            System.out.println("请输入你要猜的数字:");
            int guessNumber = sc.nextInt();
            //比较输入的数字和系统产生的数据,需要使用分支语句。
            if(guessNumber > number){
                System.out.println("你猜的数字" + guessNumber + "大了");
            }else if (guessNumber < number){
                System.out.println("你猜的数字" + guessNumber + "小了");
            }else{
                System.out.println("恭喜你猜中了");
                break;
            }
        }
    }
}
  • game.txt

  • Java入门(四十四)_第3张图片

  • 测试类

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

public class PropertiesTest {
    public static void main(String[] args) throws IOException {
        Properties prop = new Properties();
        FileReader fr = new FileReader("/home/ding/IdeaProjects/Study/src/com/itheima_05/game.txt");
        prop.load(fr);
        fr.close();
        String count = prop.getProperty("count");
        int number = Integer.parseInt(count);
        if(number>=3){
            System.out.println("游戏试玩已结束,想玩请充值(www.itcast.cn)");
        }else{
            GuessNumber.start();
            number++;
            prop.setProperty("count",String.valueOf(number));
            FileWriter fw = new FileWriter("/home/ding/IdeaProjects/Study/src/com/itheima_05/game.txt");
            prop.store(fw,null);
            fw.close();
        }
    }
}

你可能感兴趣的:(java,java,开发语言,后端)