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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© qixing0918 中级黑马   /  2013-10-30 17:03  /  899 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 qixing0918 于 2013-10-30 17:16 编辑

1.Properties  类怎么用的 无非是从一个文件读取数据到这个类中 操作这个类并写回去 以达到修改文件的作用
2.properties对文件内容是要求的 要像  建=数值   这样的数据
3.properties其实就是 io+map 就是把数据读来 放到map中
先说个properties的一个小实例
  1. public static void infoTest() throws Exception {

  2. BufferedReader bf = new BufferedReader(new FileReader("D:\\info.txt"));
  3. String line = null;
  4. Properties prop = new Properties();
  5. while ((line = bf.readLine()) != null) {
  6. String[] arr = line.split("=");
  7. prop.setProperty(arr[0], arr[1]);
  8. }
  9. Set<String> sets = prop.stringPropertyNames();
  10. for (String s : sets) {
  11. System.out.println(s + "=" + prop.getProperty(s));
  12. }

  13. }
复制代码
这就是properties底层简单原理  读取Key=Value 这样的值放到properties (map)中  properties中的load()就完成这件事

下面说本帖的重点   
完成这样一个功能 一个软件如果用3次就必须去注册
1.你想到的一定是 计数器 但计数器是当你启动程序计数器运行 你关闭程序计数器就会有回到原来的状态 这样就完不成这个功能
2.你可以把一个值写的一个文件中 key=value     然后程序启动时读取这个文件拿到值 进行判断等功能 (用的properties类)

功能代码
  1. public static void countTest() throws Exception {

  2. Properties prop = new Properties();
  3. // 文件操作 1.就好 File file = new File("D:\\info.txt"); 封装成对象 2.判断是否存在
  4. File file = new File("info.txt");
  5. if (!file.exists())
  6. file.createNewFile();
  7. FileInputStream fis = new FileInputStream(file);
  8. prop.load(fis);// 加载

  9. String value = prop.getProperty("count");
  10. int count = 0;
  11. if (value != null) {
  12. count = Integer.valueOf(value) + 1;
  13. if (count >= 3) {
  14. // 这来实现功能
  15. System.out.println("请去注册");
  16. return;
  17. }

  18. }
  19. prop.setProperty("count", String.valueOf(count));
  20. FileOutputStream fos = new FileOutputStream(file);
  21. prop.store(fos, "");// 这个方法是把数据覆盖info.txt的数据 第二个参数是注释
  22. fos.close();
  23. fis.close();

  24. }
复制代码
还有就是我想问问 不说签到加技术分么 我都快连续签到20天了 怎么加分啊  先谢谢了






评分

参与人数 1技术分 +1 收起 理由
狼王 + 1 赞一个!

查看全部评分

0 个回复

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