Properties:public class Properties extends Hashtable<Object,Object>:
映射类,因为hashtable是映射类,继承自Hashtable
属性集:Properties
使用步骤:获取属性集对象,将配置文件加载进jvm内存,进行读取取文件,获取属性/设置属性
1. 可以进行持久化
2. 默认文件时进行gbk进行编码的,但是文件中如果出现中文啥的,就是用 u16 进行编码
3. 当作配置文件来使用
4. 键和值都是字符串类型,存储在文件中进行进行展示的数据,无序,可以进行展示
5. 文件的后缀名一定要时properties,否则是不进行执行的,虽然能够进行数据展示,但是文件的类型的是不一样的
6. Properties 可保存在流中或从流中加载。属性列表中每个键及其对应值都是一个字符串,指定文件的时候进行键值对的形式存储在映射中,是特殊的映射类
7. 常用方法:
- load(Reader) / store(Writer, String) 加载配置文件为流对象,进入内存,将文件持久化存储到硬盘中
- String getProperty(String key) 用指定的键在此属性列表中搜索属性。
- void list(PrintStream out) 将属性列表输出到指定的输出流,属性列表将会全部进行打印
- System.out流对象表示向控制台打印,打印流的子类对象
- void load(InputStream inStream) 从输入流中读取属性列表(键和元素对),按字节进行读取文件列表
- void load(Reader reader) 按简单的面向行的格式从输入字符流中读取属性列表(键和元素对),按行读取文件中的属性列表
- setProperty(String key, String value) 调用 Hashtable 的方法 put,在文件中进行存储键值对
- void store(Writer writer, String comments) 以适合使用 load(Reader) 方法的格式,将此 Properties 表中的属性列表(键和元素对)写入输出字符。,后面的注释是出现在文件中的最顶行
8. 主要是作为配置文件进行使用,后缀名一定是 .properties的形式,否则将不能进行正确读取:他的本身表示的是属性的意思 properties的意思是,多个属性集,不要搞混了property的获取属性的方式
public static void main(String[] args) throws IOException {
//properties表示的是映射类的存在,能够进行持久化的存储在对应的properties文件中
//添加映射类对象
Properties p=new Properties();
//添加元素
p.setProperty("name","颤三");
p.setProperty("age","29");
p.setProperty("gender","male");
//进行持久化
p.store(new FileOutputStream("pro.properties"),"properties date");
//获取元素
String name = p.getProperty("name1");
System.out.println(name);
}
单元测试:@Test—》通过注解进行配置
1. 导入测试库
2. 给出测试方法(三无方法,没有返回值,没有参数,没有static)
3. 在测试方法里调用待测试的方法
4. 测试接口表示的是个人理解只是提供一个环境,能够让其他的不能直接运行的程序,能够在这个虚拟的环境中进行测试和执行,提供类似于main方法的机制,进行抽取出来的
/