Properties
何为Properties
Properties:
是一个Map
体系的集合类
Properties
可以保存到流中或从流中加载
不能使用泛型
Properties作为集合的特有方法:
Object setProperty(string key,string value)
:设置集合的键和值,都是string
类型,底层调用Hashtable
方法put
String getProperty(String key)
:使用此属性列表中指定的键搜索属性
Set<String> stringPropertyNames()
:从该属性列表中返回一个不可修改的键集合,其中键及其对应的值是字符串
Properties和io流结合的方法
void load(inputstream in)
:从输入字节流读取属性列表
void load(Reader reader)
:从输入字符流读取属性列表
void store(OutputStream out,String comments)
:将此属性列表写入Properties表中,适合以字节流输出
void store(Writer writer,String comments)
:将此属性列表写入Properties表中,适合以字符流输出
猜数小游戏
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| package 流.Properties猜数字小游戏;
import java.util.Random; import java.util.Scanner;
public class GuessNumber { private GuessNumber() { } public static void start() { 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("你猜的数字太大了"); break; }else if(guessNumber<number) { System.out.println("你猜的数字太小了"); break; }else { System.out.println("恭喜你猜中了"); break; } } } }
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| package 流.Properties猜数字小游戏;
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("d:\\count.txt"); prop.load(fr); fr.close(); //通过Properties集合获取到玩游戏的次数 String count = prop.getProperty("count"); int number = Integer.parseInt(count); //判断 if (number >= 3) { System.out.println("游戏试玩结束"); } else { GuessNumber.start(); number++; System.out.println(number); prop.setProperty("count",String.valueOf(number)); FileWriter fw = new FileWriter("d:\\count.txt"); prop.store(fw, null); fw.close(); } }
}
|
1 2
| #Fri Apr 16 22:50:57 CST 2021 count=3
|