java Properties集合与IO流

游戏 游戏 1462 人阅读 | 0 人回复

<
java Properties汇合取IO流



Properties引见



  • 是一个Map系统的汇合类
  • Properties能够保留到流中或从流中减载
  • 属性列表中的每一个键及其对应的值皆是一个字符串
特有办法



  •    办法名阐明Object setProperty(String key, String value)设置汇合的键战值,皆是String范例,底层挪用 Hashtable办法 putString getProperty(String key)利用此属性列表中指定的键搜刮属性Set stringPropertyNames()从该属性列表中返回一个不成修正的键散,此中键及其对应的值是字符串
示例代码

  1. public class PropertiesDemo02 {
  2.     public static void main(String[] args) {
  3.         //创立汇合工具
  4.         Properties prop = new Properties();
  5.         //Object setProperty(String key, String value):设置汇合的键战值,皆是String范例,底层挪用Hashtable办法put
  6.         prop.setProperty("itheima001", "林青霞");
  7.         /*
  8.             Object setProperty(String key, String value) {
  9.                 return put(key, value);
  10.             }
  11.             Object put(Object key, Object value) {
  12.                 return map.put(key, value);
  13.             }
  14.          */
  15.         prop.setProperty("itheima002", "张曼玉");
  16.         prop.setProperty("itheima003", "王祖贤");
  17.         //String getProperty(String key):利用此属性列表中指定的键搜刮属性
  18. //        System.out.println(prop.getProperty("itheima001"));
  19. //        System.out.println(prop.getProperty("itheima0011"));
  20. //        System.out.println(prop);
  21.         //Set<String> stringPropertyNames():从该属性列表中返回一个不成修正的键散,此中键及其对应的值是字符串
  22.         Set<String> names = prop.stringPropertyNames();
  23.         for (String key : names) {
  24. //            System.out.println(key);
  25.             String value = prop.getProperty(key);
  26.             System.out.println(key + "," + value);
  27.         }
  28.     }
  29. }
复造代码
Properties战IO流相结合的办法



  • 战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)办法的格局写进输出字符流

  • 示例代码
  1. public class PropertiesDemo03 {
  2.     public static void main(String[] args) throws IOException {
  3.         //把汇合中的数据保留到文件
  4. //        myStore();
  5.         //把文件中的数据减载到汇合
  6.         myLoad();
  7.     }
  8.     private static void myLoad() throws IOException {
  9.         Properties prop = new Properties();
  10.         //void load(Reader reader):
  11.         FileReader fr = new FileReader("myOtherStream\\fw.txt");
  12.         prop.load(fr);
  13.         fr.close();
  14.         System.out.println(prop);
  15.     }
  16.     private static void myStore() throws IOException {
  17.         Properties prop = new Properties();
  18.         prop.setProperty("itheima001","林青霞");
  19.         prop.setProperty("itheima002","张曼玉");
  20.         prop.setProperty("itheima003","王祖贤");
  21.         //void store(Writer writer, String comments):
  22.         FileWriter fw = new FileWriter("myOtherStream\\fw.txt");
  23.         prop.store(fw,null);
  24.         fw.close();
  25.     }
  26. }
复造代码
游戏次数案例【使用】



  • 案例需供

    • 完成猜数字小游戏只能试玩3次,假如借念玩,提醒:游戏试玩已完毕,念玩请充值(www.itcast.cn)

  • 阐发步调

    • 写一个游戏类,里面有一个猜数字的小游戏
    • 写一个测试类,测试类中有main()办法,main()办法中写以下代码:
      ​ 从文件中读与数据到Properties汇合,用load()办法完成
      - 文件曾经存正在:game.txt
      - 里面有一个数据值:count=0
      ​ 经由过程Properties汇合获得到玩游戏的次数
      ​ 判定次数能否到到3次了
      -假如到了,给出提醒:游戏试玩已完毕,念玩请充值(www.itcast.cn)
      -假如没有到3次:次数+1,从头写回文件,用Properties的store()办法完成玩游戏

  • 代码完成
  1. public class PropertiesTest {
  2.    public static void main(String[] args) throws IOException {
  3.        //从文件中读与数据到Properties汇合,用load()办法完成
  4.        Properties prop = new Properties();
  5.        FileReader fr = new FileReader("myOtherStream\\game.txt");
  6.        prop.load(fr);
  7.        fr.close();
  8.        //经由过程Properties汇合获得到玩游戏的次数
  9.        String count = prop.getProperty("count");
  10.        int number = Integer.parseInt(count);
  11.        //判定次数能否到到3次了
  12.        if(number >= 3) {
  13.            //假如到了,给出提醒:游戏试玩已完毕,念玩请充值(www.itcast.cn)
  14.            System.out.println("游戏试玩已完毕,念玩请充值(www.itcast.cn)");
  15.        } else {
  16.            //玩游戏
  17.            GuessNumber.start();
  18.            //次数+1,从头写回文件,用Properties的store()办法完成
  19.            number++;
  20.            prop.setProperty("count",String.valueOf(number));
  21.            FileWriter fw = new FileWriter("myOtherStream\\game.txt");
  22.            prop.store(fw,null);
  23.            fw.close();
  24.        }
  25.    }
  26. }
复造代码
免责声明:假如进犯了您的权益,请联络站少,我们会实时删除侵权内乱容,感谢协作!
1、本网站属于个人的非赢利性网站,转载的文章遵循原作者的版权声明,如果原文没有版权声明,按照目前互联网开放的原则,我们将在不通知作者的情况下,转载文章;如果原文明确注明“禁止转载”,我们一定不会转载。如果我们转载的文章不符合作者的版权声明或者作者不想让我们转载您的文章的话,请您发送邮箱:Cdnjson@163.com提供相关证明,我们将积极配合您!
2、本网站转载文章仅为传播更多信息之目的,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证信息的正确性和完整性,且不对因信息的不正确或遗漏导致的任何损失或损害承担责任。
3、任何透过本网站网页而链接及得到的资讯、产品及服务,本网站概不负责,亦不负任何法律责任。
4、本网站所刊发、转载的文章,其版权均归原作者所有,如其他媒体、网站或个人从本网下载使用,请在转载有关文章时务必尊重该文章的著作权,保留本网注明的“稿件来源”,并自负版权等法律责任。
回复 关闭延时

使用道具 举报

 
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则