黑马程序员——Properties类和基础框架复习
来源:互联网 发布:网络歌老情歌经典大全 编辑:程序博客网 时间:2024/06/06 03:14
-----------android培训、java培训、java学习型技术博客、期待与您交流!------------
Properties类
一、概述
1、Properties是Hashtable的子类,它具备Map集合的特点。而且它里面还有存储的键值对,都是字符串,无泛型定义。是集合中和IO技术想结合的集合容器。
2、特点:
1)可用于键值对形式的配置文件
2)在加载时,需要数据有固定的格式,常用的是:键=值
二、特有方法
1、设置
Object setProperty(String key,String value);
//设置键和值,调用Hashtable的方法put
2、获取
String getProperty(String key);
//指定key搜索value
Set<String> stringPropertyName();
//返回属性列表的键集,存入Set集合
3、加载流和存入流
void load(InputStream ism);
//从输入字节流中读取属性列表(键和元素对)。又称将流中的数据加载进集合。
void load(Readerreader);
//从输入字符流中读取属性列表(键和元素对)。又称将流中的数据加载进集合。
voidlist(PrintStream out);//将属性列表输出到指定的输出流
void store(OutputStreamout,String comments);
//对应load(InputStream )将属性列表(键值对)写入输出流。comments属性列表的描述。
void store(Writerwriter, String comments);
//对应load(Reader)将属性列表(键值对)写入输出流。comments属性列表的描述。
package com.it.heima;import java.io.*;//Properties是HashSet的子类,它具有Map集合的特点import java.io.*;import java.util.Properties;public class PropertiesDemo {public static void main(String[] args) {// TODO 自动生成的方法存根try {BufferedReader br=new BufferedReader(new FileReader("F:\\java\\10-4\\com.it.heima\\src\\com\\it\\heima\\Demo.Properties"));String str=br.readLine();String[] str1=str.split("=");//用=号将切割字符串Properties pp=new Properties();pp.setProperty(str1[0], str1[1]);System.out.println(pp);//可以看到集合pp中的内容//在这里也可以用反射的方式创建对象Class c=Class.forName(pp.getProperty(str1[0]));DemoClass dc=(DemoClass)c.newInstance();//调用对象中的方法dc.run();} catch (Exception e) {// TODO 自动生成的 catch 块e.printStackTrace();}}}在学习基础框架的时候也会用到它。
什么是框架,例如,我们要写程序扫描.java文件中的注解,要解决哪些问题:读取每一样,在每一个中查找@,找到的@再去查询一个列表,如果@后的内容出现在了列表中,就说明这是一个我能处理和想处理的注解,否则,就说明它不是一个注解或者说至少不是一个我感兴趣和能处理的注解。接着就编写处理这个注解的相关代码。现在sun提供了一个apt框架,它会完成所有前期工作,只需要我们提供能够处理的注解列表,以及处理这些注解的代码。Apt框找到我们感兴趣的注解后通知或调用我们的处理代码去处理。
你做的门调用锁,锁是工具,你做的门被房子调用,房子是框架,房子和锁都是别人提供的。
package com.it.heima;/*8、 已知一个类,定义如下:package cn.itcast.heima; public class DemoClass { public void run() { System.out.println("welcome to heima!"); } }(1) 写一个Properties格式的配置文件,配置类的完整名称。(2) 写一个程序,读取这个Properties配置文件,获得类的完整名称并加载这个类,用反射 的方式运行run方法。*/import java.util.*;import java.io.*;public class Test8 { public static void main(String[] args) { // TODO 自动生成的方法存根 Properties pp=new Properties(); FileReader file=null; try { file=new FileReader("F:\\java\\10-4\\com.it.heima\\src\\com\\it\\heima\\Demo.Properties"); pp.load(file); for(int i=0;i<pp.size();i++){ Class c=Class.forName(pp.getProperty("DemoClass")); DemoClass dc=(DemoClass)c.newInstance(); dc.run(); } } catch (Exception e) { // TODO 自动生成的 catch 块 e.printStackTrace(); } }}下面是配合文件中的内容:文件名字为Demo.Properties
DemoClass=com.it.heima.DemoClass
- 黑马程序员——Properties类和基础框架复习
- 黑马程序员—SequenceInputStream和Properties类
- 黑马程序员—java基础复习—继承和接口
- 黑马程序员——复习基础
- 黑马程序员—SimpleDateFormat和 properties 实例
- 黑马程序员——40,File类和Properties类
- 黑马程序员——Properties类
- 黑马程序员 —— Properties类
- 黑马程序员——JAVASE-Properties类
- 黑马程序员——Java基础---File、Properties、序列流
- 【黑马程序员】集合框架(上)——Java复习笔记
- 【黑马程序员】集合框架(下)——Java复习笔记
- 黑马程序员——Java集合框架复习总结(一)
- 黑马程序员——Java集合框架复习总结(二)
- 黑马程序员——Java集合框架复习总结(三)
- 黑马程序员—java基础复习—多态和内部类
- 黑马程序员——C#面向对象基础复习日记
- 黑马程序员——Java基础 数组 (复习)
- UVa 10450 - World Cup Noise
- Java异常
- hdu1002
- java学习十七 逻辑运算符
- Socket UDP【简单聊天实例】
- 黑马程序员——Properties类和基础框架复习
- 一个简单的数据库操作类、封装了一些简单的操作
- C++面试题 深度剖析
- Demo② --> java 学习历程
- java学习十八 条件运算符
- 如何改变博客自定义模块字体设置
- java 多线程 之 Excutor
- JQuery的常见面试题
- 笑观多线程