private static void myStore() throws IOException {
Properties prop = new Properties();
prop.setProperty("1","Nina");
prop.setProperty("2","Mike");
prop.setProperty("3","Yuanning");
FileWriter fw = new FileWriter("D:\\IdeaProject\\untitledDemo\\p.txt");
prop.store(fw, null);
fw.close();
}
调用myStore方法后,p.txt变成如下:
用load方法从文件读取属性列表
private static void myLoad() throws IOException {
Properties prop = new Properties();
FileReader fr = new FileReader("D:\\IdeaProject\\untitledDemo\\p.txt");
prop.load(fr);
fr.close();
System.out.println(prop);
}
打印结果:
案例,游戏次数:
//游戏类,猜数字从1到100,猜中了循环结束
public class GuessNumber {
private GuessNumber(){}
public static void start(){
Random r = new Random();
int num = r.nextInt(100)+1;
while (true) {
Scanner sr = new Scanner(System.in);
System.out.println("Please input your number: ");
int guessNum = sr.nextInt();
if (guessNum>num){
System.out.println("Your number is too big");
}else if (guessNum<num){
System.out.println("Your number is too small");
}else {
System.out.println("Good guess!");
break;
}
}
}
}
//测试类,判断次数是否到三次了
public class PropertiesDemo02 {
public static void main(String[] args) throws IOException {
Properties prop = new Properties();
FileReader fr = new FileReader("D:\\IdeaProject\\untitledDemo\\game.txt");
prop.load(fr);
fr.close();
String num = prop.getProperty("count");
int count = Integer.parseInt(num);
if (count>=3){
System.out.println("Your free trial is over!");
} else {
//玩游戏
GuessNumber.start();
count++;
prop.setProperty("count", String.valueOf(count));
FileWriter fw = new FileWriter("D:\\IdeaProject\\untitledDemo\\game.txt");
prop.store(fw,null);
fw.close();
}
}
}
IO流终于搞完了啊啊啊啊
开始搞多线程!