程序的配置文件
2016-03-23 17:30
148 查看
程序的配置文件:简单的用properties 复杂的用 xml(文本型的数据库),而使用properties主要是五个方法:1、new ;2、set; 3、get; 4、load; 5、store;
开始时将配置文件放在与src文件夹并列的位置,bin下是运行根目录 会被src文件覆盖。
在paoperties中 # 表示注释
comments参数的作用是在配置文件中加一行#...的注释。
properties要用到io读写。所以要用到io流。对于io不熟悉可以看我前面的io流复习笔记。
下面我们通过两个个实例来理解这个知识点:
一、properties函数的演示
二、小程序
实现代码如下:
开始时将配置文件放在与src文件夹并列的位置,bin下是运行根目录 会被src文件覆盖。
在paoperties中 # 表示注释
comments参数的作用是在配置文件中加一行#...的注释。
properties要用到io读写。所以要用到io流。对于io不熟悉可以看我前面的io流复习笔记。
下面我们通过两个个实例来理解这个知识点:
一、properties函数的演示
package cn.hncu.property; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.util.Properties; public class PropertiesDemo { //使用Properties的五个函数 //因为load读入和store写出方法需要与外面的文件相关联,所以要用到io流。即io流的读与写。 //这里用到的key与value都是string类型的 public static void main(String[] args) { Properties proper=new Properties();//1 new方法 FileInputStream fin=null; try { fin =new FileInputStream("qwer.txt"); proper.load(fin);//2 load方法 String str1=proper.getProperty("Sname");//3 get方法 System.out.println(str1); } catch (IOException e) { e.printStackTrace(); } FileOutputStream fout=null; try { fout=new FileOutputStream("qwer.txt"); proper.setProperty("information", "yiyang");//4 set方法 proper.store(fout, null);//5 store方法 } catch (IOException e) { System.out.println("error"); } try { fin.close(); fout.close(); } catch (IOException e) { throw new RuntimeException("关流失败"); } } }
二、小程序
实现代码如下:
package cn.hncu.property; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.util.Properties; import javax.management.RuntimeErrorException; public class TimesTried { public static void main(String[] args) { //进入住函数的卫条件,防护 if(countDemo()){ System.out.println("欢迎使用***"); }else{ System.out.println("使用次数已到,无法继续使用"); } } private static boolean countDemo() { int count=0; Properties p=new Properties(); File f=new File("An.dat"); ; FileInputStream fin = null; try { fin=new FileInputStream(f); p.load(fin); String value=p.getProperty("count"); count=Integer.parseInt(value); if (count>=5) { System.out.println("使用次数已到,请注册"); return false; } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } count++; System.out.println("运行次数为:"+count); //写 FileOutputStream fout = null; try { p.setProperty("count", ""+count); fout=new FileOutputStream(f); p.store(fout, null); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } try { fin.close(); fout.close(); } catch (IOException e) { throw new RuntimeException("关流失败"); } return true; } }
相关文章推荐
- React Native学习之RCTDeviceEventEmitter(类似iOS的NSNotificationCenter)简单用法以及背景透明
- 如何把自己用html写的简历导出成为pdf格式
- android触摸事件分发机制
- Cg入门24: Fragment shader – UV动画(波纹)
- lucene简单使用
- (转)Java集合框架:HashMap
- 关于Android开发中手机底部虚拟键的隐藏问题
- 无边框窗口、控件的事件处理之nativeEvent(Qt 5.5.0)
- Leetcode 290. Word Pattern
- hr 标签的使用
- Hive1.2.1安装配置实录整理
- Javassist 字节码操作
- 你所不了解的setTimeout
- linux命令---常用stty的命令
- 扩展html 无边框的input 边框
- poj 生理周期 1006 (中国剩余定理)水
- 防止表单重复提交
- 淘宝TDDL——Matrix层的分库分表配置与实现
- Android攻城狮学习笔记—入门篇三
- 制度宝遇到的坑