A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© fmi110 高级黑马   /  2015-8-10 11:48  /  308 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

IO
  1. IO与集合结合的类: Properties
  2.         Map
  3.           |-- Hashtable
  4.             |--Properties

  5.         Properties 该集合已限制键值对是 String 类型,所以不需要泛型

  6.         常用方法:
  7.                 Object setProperty(String key,String value); 设置(修改)键值对
  8.                                 返回值是 Hashtable 调用 put 的结果: 此哈希表中指定键的以前的值,如果不存在该值,则返回 null

  9.                 String getProperty(key);获取key对应的值
  10.                 Set<String> stringPropertyNames(); 返回列表的键值

  11.                 void list(PrintStream out); 将属性列表输出至指定流
  12.                 void list(PrintWriter out); 将属性列表输出至指定流
  13.                         例: list(System.out);输出至控制台
  14.                                  list(new PrintStream("1.txt"); 输出至文档1.

  15.                 void load(InputStream inStream)
  16.                          从输入流中读取属性列表(键和元素对)。
  17.                 void load(Reader reader)
  18.                          按简单的面向行的格式从输入字符流中读取属性列表(键和元素对)
  19.                
  20.                 注意:键值对应该有固定的格式, 键 = 值         
  21.                
  22.                 void store(OutputStream out, String comments)
  23.                         以适合使用 load(InputStream) 方法加载到 Properties 表中的格式,将此 Properties 表中的属性列表(键和元素对)写入输出流。
  24.                 void store(Writer writer, String comments)
  25.                         以适合使用 load(Reader) 方法的格式,将此 Properties 表中的属性列表(键和元素对)写入输出字符。

  26. *********************************************************************************

  27. 练习:记录一个程序运行的次数,当到达次数时,该程序不可以再次运行。
  28. import java.io.*;
  29. import java.util.*;
  30. class MyPropertiesDemo
  31. {
  32.         public static void main(String[] args) throws IOException
  33.         {
  34.                 //记录次数
  35.                 int time = 0;
  36.                 //创建流关联配置文件
  37.                 File file = new File("prop.ini");
  38.                 if(!file.exists())
  39.                         file.createNewFile();
  40.                 FileInputStream fin = new FileInputStream(file);
  41.                 FileOutputStream fos = null;
  42.                 //创建集合
  43.                 Properties prop = new Properties();
  44.                 //加载配置键值对
  45.                 prop.load(fin);
  46.                
  47.                 //查询已用次数
  48.                 String count = prop.getProperty("time");
  49.                 if(count==null)
  50.                 {
  51.                         count = "0";
  52.                 }
  53.                 time = Integer.parseInt(count);
  54.                 time++;
  55.                 if(time>=5)
  56.                 {
  57.                         System.out.println("Time has reached 5.Use limitied,please register!!");
  58.                         return;
  59.                 }
  60.                 //回传配置信息并存储
  61.                 count =new Integer(time).toString();
  62.                 prop.setProperty("time",count);
  63.                 fos = new FileOutputStream(file);
  64.                 prop.store(fos,"");

  65.                 fin.close();
  66.                 System.out.println("This is the "+time+" time!");
  67.                 System.out.println("Hello World!");
  68.         }
  69. }
复制代码


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马