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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

  1. import java.io.File;
  2. import java.io.IOException;
  3. import java.util.Properties;
  4. import java.io.FileInputStream;
  5. import java.io.FileOutputStream;

  6. class PropertiesTest
  7. {
  8.         public static void main(String[] args)
  9.         {
  10.                 //写一个集合
  11.                 Properties pt = new Properties();
  12.                 File f = null;
  13.                 FileInputStream fis = null;
  14.                 try
  15.                 {
  16.                         f = new File("count.ini");
  17.                         if(!f.exists()) //判读文件是否已建立
  18.                                 f.createNewFile(); //如果没有建立则新建一个文件
  19.                         //对文件读取
  20.                         fis = new FileInputStream(f);
  21.                         pt.load(fis); //把流中的数据存储到集合中
  22.                        
  23.                         //定义计数器
  24.                         int count = 0;

  25.                         //通过键值获取元素
  26.                         String value = pt.getProperty("time");
  27.                         if(value != null)
  28.                         {
  29.                                 count = Integer.parseInt(value); //如果不为空就把元素强转为整型赋值给技术器
  30.                                 if(count >= 5) //如果使用到第五次就跳出循环不在执行程序
  31.                                 {
  32.                                         System.out.println("您好。请交钱。");
  33.                                         return ; //停止循环
  34.                                 }
  35.                         }
  36.                         count++; //计数器自增
  37.                         pt.setProperty("time", count + ""); //把数据存储进集合中
  38.                                
  39.                 }
  40.                 catch (IOException e)
  41.                 {
  42.                         throw new RuntimeException("读取失败");
  43.                 }
  44.                 FileOutputStream fos =null;
  45.                 try
  46.                 {
  47.                         fos = new FileOutputStream(f); //建立写入流
  48.                         pt.store(fos, ""); //通过store方法把数据写入到集合中
  49.                 }
  50.                 catch (IOException e)
  51.                 {
  52.                         throw new RuntimeException("写入失败");
  53.                 }
  54.                 finally
  55.                 {
  56.                         try
  57.                         {
  58.                                 if(fis != null)
  59.                                         fis.close();
  60.                         }
  61.                         catch (IOException e)
  62.                         {
  63.                                 throw new RuntimeException("读取关闭失败");
  64.                         }
  65.                         finally
  66.                         {
  67.                                 try
  68.                                 {
  69.                                         if(fos != null)
  70.                                                 fos.close();
  71.                                 }
  72.                                 catch (IOException e)
  73.                                 {
  74.                                         throw new RuntimeException("写入关闭失败");
  75.                                 }
  76.                         }
  77.                 }
  78.                
  79.         }
  80. }
复制代码


评分

参与人数 1技术分 +1 收起 理由
itpower + 1

查看全部评分

3 个回复

倒序浏览
绝对不合适,用户不需要什么失败,只要知道不成功就行了 你把问题进行处理的时候 再次转换成同一个异常抛出 但是如果你只是测试那会可以,不过产品上线那是不可能滴

评分

参与人数 1技术分 +1 收起 理由
itpower + 1

查看全部评分

回复 使用道具 举报
黄晓鑫 发表于 2014-4-1 12:20
绝对不合适,用户不需要什么失败,只要知道不成功就行了 你把问题进行处理的时候 再次转换成同一个异常抛出 ...

额。哦哦。这个只是我在看视频的时候写的代码。因为视频上是直接把异常抛出去了。我是尝试着自己添加异常。想问问这么添加异常try语句中放的那些句子是否都可以这么放吗?try语句中的那些句子放在try语句中是否合适。如果不合适的话又该怎么放。大神能帮忙解决一下吗
回复 使用道具 举报
你如果不想把异常抛出去给你这个方法的调用者处理的话,那你可以通过返回值的方式处理异常,例如:你可以给这个方法返回File对象,你的catch块里的代码可以return nul;
对你这个方法的调用者而言,如果成功了就会返回一个File对象,失败了就返回null.真实的开发场景基本是这么处理的。

评分

参与人数 1技术分 +1 收起 理由
itpower + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马