java学习--IO流(3)-Properties
来源:互联网 发布:it服务管理体系认证 编辑:程序博客网 时间:2024/05/17 00:15
/*Properties是hashtable的子类。也就是说它具备map集合的特点。而且它里面存储的键值对都是字符串。是集合中和IO技术相结合的集合容器。该对象的特点:可以用于键值对形式的配置文件。那么在加载数据时,需要数据有固定格式:键=值。练习:限制程序运行次数。当运行次数到达5次时,给出,请您注册的提示。并不再让该程序执行。*/import java.io.*;import java.util.*;class PropertiesDemo {public static void main(String[] args) throws IOException{//method_1();loadDemo();}public static void loadDemo()throws IOException{Properties prop = new Properties();FileInputStream fis = new FileInputStream("info.txt");//将流中的数据加载进集合。prop.load(fis);prop.setProperty("wangwu","39");FileOutputStream fos = new FileOutputStream("info.txt");prop.store(fos,"haha");//System.out.println(prop);prop.list(System.out);fos.close();fis.close();}//演示,如何将流中的数据存储到集合中。//想要将info.txt中键值数据存到集合中进行操作。/*1,用一个流和info.txt文件关联。2,读取一行数据,将该行数据用"="进行切割。3,等号左边作为键,右边作为值。存入到Properties集合中即可。*/public static void method_1()throws IOException{BufferedReader bufr = new BufferedReader(new FileReader("info.txt"));String line = null;Properties prop = new Properties();while((line=bufr.readLine())!=null){String[] arr = line.split("=");///System.out.println(arr[0]+"...."+arr[1]);prop.setProperty(arr[0],arr[1]);}bufr.close();System.out.println(prop);}//设置和获取元素。public static void setAndGet(){Properties prop = new Properties();prop.setProperty("zhangsan","30");prop.setProperty("lisi","39");//System.out.println(prop);String value = prop.getProperty("lisi");//System.out.println(value);prop.setProperty("lisi",89+"");Set<String> names = prop.stringPropertyNames();for(String s : names){System.out.println(s+":"+prop.getProperty(s));}}}
练习
/*用于记录应用程序运行次数。如果使用次数已到,那么给出注册提示。很容易想到的是:计数器。可是该计数器定义在程序中,随着程序的运行而在内存中存在,并进行自增。可是随着该应用程序的退出,该计数器也在内存中消失了。下一次在启动该程序,又重新开始从0计数。这样不是我们想要的。程序即使结束,该计数器的值也存在。下次程序启动在会先加载该计数器的值并加1后在重新存储起来。所以要建立一个配置文件。用于记录该软件的使用次数。该配置文件使用键值对的形式。这样便于阅读数据,并操作数据。键值对数据是map集合。数据是以文件形式存储,使用io技术。那么map+io -->properties.配置文件可以实现应用程序数据的共享。*/import java.io.*;import java.util.*;class RunCount{public static void main(String[] args) throws IOException{Properties prop = new Properties();File file = new File("count.ini");if(!file.exists())file.createNewFile();FileInputStream fis = new FileInputStream(file);prop.load(fis);int count = 0;String value = prop.getProperty("time");if(value!=null){count = Integer.parseInt(value);if(count>=5){System.out.println("您好,使用次数已到,拿钱!");return ;}}count++;prop.setProperty("time",count+"");FileOutputStream fos = new FileOutputStream(file);prop.store(fos,"");fos.close();fis.close();}}/*name=zhangsanage=20<persons><person id="001"><name>zhagnsan</name><age>30</age><address>bj</address></person><person><name</person></persons>*/
0 0
- java学习--IO流(3)-Properties
- java IO流(properties)
- Java基础知识IO流(Properties)
- java--IO流-Properties类
- Java IO流,Properties集合
- Java IO流 、 Properties 、 枚举
- Java学习第20天:IO流中的File对象和一些只是(如Properties)
- JAVA学习第五十三课 — IO流(七)File对象练习 & Properties集合
- Java笔记5 IO<3>File、Properties、PrintWriter、合并流
- Java编码问题(IO流/JSP/Properties)
- Java基础--IO流之Properties
- java IO流 File类,Properties--20
- java中IO流Properties集合
- JAVA基础学习(二十一)--IO流三-File、Properties、PrintWriter与合并、分割流
- 黑马程序员--Java基础学习(IO流--File对象和Properties)第二十天
- Java学习笔记之IO(十四):Properties配置文件类
- IO流(Properties练习)
- IO流-Properties
- MFC的消息处理模式
- java对redis的基本操作
- 2.4 GHz ZigBee网络处理器CC2530ZNP(TI)
- 如何解决警告linking against dylib not safe for use in application extensions
- hadoop一些术语
- java学习--IO流(3)-Properties
- js编写倒计时跳转页面
- Matlab插值方法大全
- HTTP_自定义下载类
- 算法学习笔记——Dijkstra单源最短路径算法
- 九度OJ 1076 N的阶乘 (模拟)
- 程序员必看的书(四)
- 为Cocos2d-x增加带Button回调的系统级消息框(MessageBox)