Properties配置文件说明 Properties类对应.properties文件.文件内容是键值对,键值对之间使用"="或空格隔开.开头是"#"的表示注释 Properties类在加载.properties文件时使用的iso8859-1的编码.所以这个文件中的中文要特殊处理:如果这个配置文件中有中文就必须要进行转义,使用native2ascii.exe命令操作: native2ascii d:/my.properties d:/my2.properties 使…
个人理解: Properties类是个存储String类型的键值对的集合类,可以用其存储一些关键的账号密码什么的,同时后面的注释可以很好的帮助理解,但是需要注意的是其文件中不能出现其他的符号:序列化与反序列化主要是用于把对象写入文本文件,或者从里面调出来.打印流只是输出流的一种,好处在于其可以自动刷新,还可以设置其换行. 一.Properties类:以file结尾的文件 1.特点: ①.Hashtable的子类,map集合中的方法都可以用: ②.该集合没有泛型,键值必须都是字符串String类型…
绝对路径 以根目录或某盘符开头的路径(或者说完整的路径) 例如: l  c:/a.txt (Windows操作系统中) l  c:/xxx/a.txt (Windows操作系统中) l  /var/xx/aa.txt (Linux操作系统中) 绝对路径的问题: 比如C:\abc\a.properties文件路径,该路径在windows上执行没有 问题,但是如果把该项目移动到linux上面执行 ,该路径就会出现问题了,因为在linux上面没有c盘的,只有根目录\. 相对路径 相对于当前路径的一个路…
为什么要学内省? 开发框架时,经常需要使用java对象的属性来封装程序的数据,每次都使用反射技术完成此类操作过于麻烦,所以sun公司开发了一套API,专门用于操作java对象的属性. 内省是用于操作java对象的属性的,那么以下问题我们必须要清楚. 问题一: 什么是Java对象的属性和属性的读写方法? 问题二: 如何通过内省访问到javaBean的属性 ? 1. 通过PropertyDescriptor类操作Bean的属性. public static void testPropertyDesc…
2.泛型(Generic) 当集合中存储的对象类型不同时,那么会导致程序在运行的时候的转型异常 1 import java.util.ArrayList; 2 import java.util.Iterator; 3 4 public class Demo5 { 5 public static void main(String[] args) { 6 ArrayList arr = new ArrayList(); 7 arr.add(new Tiger("华南虎")); 8 arr.…
Junit单元测试框架的基本使用 一.搭建环境: 导入junit.jar包(junit4) 二.写测试类: 0,一般一个类对应一个测试类. 1,测试类与被测试类最好是放到同一个包中(可以是不同的源文件夹) 2,测试类的名字为被测试类的名字加Test后缀. 三:写测试方法: 0,一般一个方法对应一个单元测试方法. 1,测试方法的名字为test前缀加被测试方法的名字,如testAddPerson(). 2,单元测试方法上面要加上@Test注解(org.junit.Test)! 3,单元测试方法不能有…
启动线程方式 方式一:继承Thread. 1. 自定义一个类继承Thread类. 2. 重写Thread的run方法,把自定义线程的任务代码定义在run方法上. 3. 创建Thread子类的对象,并且调用start方法启动一个线程. 方式二: 实现Runnable接口. 1. 自定义一个类实现Runnable接口. 2. 实现Runnable接口中的run方法,把自定义线程的任务代码定义在run方法上. 3. 创建Runable实现类 的对象. 4. 创建Thread对象,并且把Runnable…
IO流的分类 注:这几个类都是抽象类. IO解决问题: 解决设备与设备之间 的数据传输问题. 比如: 硬盘--->内存 内存----->硬盘 字节流: 输入字节流:---------| InputStream 所有输入字节流的基类. 抽象类.------------| FileInputStream 读取文件的输入字节流.------------| BufferedInputStream 缓冲输入字节流. 该类内部其实就是维护了一个8kb字节数组而已. 该类出现的目的是为了提高读取文件数据的效…
1.集合 1.1 集合的类型与各自的特性 ---|Collection: 单列集合 ---|List: 有存储顺序, 可重复 ---|ArrayList: 数组实现, 查找快, 增删慢 由于是数组实现, 在增和删的时候会牵扯到数组 增容, 以及拷贝元素. 所以慢.数组是可以直接按索引查找, 所以查找时较快 ---|LinkedList: 链表实现, 增删快, 查找慢由于链表实现, 增加时只要让前一个元素记住自己就可以, 删除时让前一个元素记住后一个元素, 后一个元素记住前一个元素. 这样的增删效…