首页 > 代码库 > Properties集合
Properties集合
Map
|--Hashtable
|--Properties
Properties集合特点:
1.该集合中的键和值都是字符串类型
2.集合中的数据可以保存在IO流中或者从IO流中获取数据。
通常该集合用于操作以键值对存在的配置文件。
Properties有个list方法,用于调试过程中,输出properties中的数据
Pro.list(system.out)将properties中的数据在控制台显示。
两个最常用的方法,与io流相结合
store
load
1 /* 2 * 定义功能,获取一个应用程序运行的次数,如果超过5次,给出使用次数已到请注册的提示。并不要在运行程序。 3 * 4 * 思路: 5 * 1,应该有计数器。 6 * 每次程序启动都需要计数一次,并且是在原有的次数上进行计数。 7 * 2,计数器就是一个变量。 突然冒出一想法,程序启动时候进行计数,计数器必须存在于内存并进行运算。 8 * 可是程序一结束,计数器消失了。那么再次启动该程序,计数器又重新被初始化了。 9 * 而我们需要多次启动同一个应用程序,使用的是同一个计数器。 10 * 这就需要计数器的生命周期变长,从内存存储到硬盘文件中。11 * 12 * 3,如何使用这个计数器呢?13 * 首先,程序启动时,应该先读取这个用于记录计数器信息的配置文件。14 * 获取上一次计数器次数。 并进行试用次数的判断。15 * 其次,对该次数进行自增,并自增后的次数重新存储到配置文件中。 16 * 17 * 18 * 4,文件中的信息该如何进行存储并体现。19 * 直接存储次数值可以,但是不明确该数据的含义。 所以起名字就变得很重要。20 * 这就有了名字和值的对应,所以可以使用键值对。21 * 可是映射关系map集合搞定,又需要读取硬盘上的数据,所以map+io = Properties.22 * 23 * 24 * 25 */26 27 public class PropertiesTest {28 29 /**30 * @param args31 * @throws IOException 32 * @throws Exception 33 */34 public static void main(String[] args) throws IOException {35 36 getAppCount();37 38 }39 40 public static void getAppCount() throws IOException{41 42 //将配置文件封装成File对象。43 File confile = new File("count.properties");44 45 if(!confile.exists()){46 confile.createNewFile();47 }48 49 FileInputStream fis = new FileInputStream(confile);50 51 Properties prop = new Properties();52 53 prop.load(fis);54 55 56 //从集合中通过键获取次数。 57 String value = http://www.mamicode.com/prop.getProperty("time");58 //定义计数器。记录获取到的次数。59 int count =0;60 if(value!=null){61 count = Integer.parseInt(value);62 if(count>=5){63 // System.out.println("使用次数已到,请注册,给钱!");64 // return;65 throw new RuntimeException("使用次数已到,请注册,给钱!");66 }67 }68 count++;69 70 //将改变后的次数重新存储到集合中。71 prop.setProperty("time", count+"");72 73 FileOutputStream fos = new FileOutputStream(confile);74 75 prop.store(fos, "");76 77 fos.close();78 fis.close();79 80 81 }82 83 }
Properties集合
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。