Properties:
本身是Map集合中的一员,可以按照Map的操作方式进行操作,存储的是key-value,key和value都是字符串。
可以将map中的数据存储到文件中:store(输出流对象,“注释信息”)
可以将文件中的数据存储到map中:load(输入流对象)
合并流:
SequenceInputStream
可以将多个输入流串联起来,按照顺序读取各个输入流关联的文件中的数据
对象的序列化和反序列化:
序列化:将对象的属性信息按照字节的顺序存储到某一介质中,即做写的操作 ----ObjectOutputStream
反序列化:将某一介质中的信息按照字节顺序读取出来,即做读的操作 -----ObjectInputStream
java中常用的一些可以直接进行序列化:比如:基本类型,基本类型的包装类对象,字符串对象,数组对象,集合对象等。
可以进行序列化的原因是:都实现了Serializable接口。
因此,自定义对象想要进行序列化,必须实现该Serializable接口。
这个接口中,没有任何的方法和属性,因此该接口只是起到标记的作用,称之为:标记接口
序列化只是将对象的属性信息存储到某一介质中;
如果某一个属性不想要进行序列化:
1.使用static修饰,将对象属性改为类属性,不建议使用
2.使用transient关键字修饰
java中有一些对象不能进行序列化,比如与操作系统有关的对象,System,Thread等
打印流:
都是输出流
PrintStream
PrintWriter
都有println,print,printf
随机访问流:
RandomAccessFile既可以读取数据,也可以向目的地写入数据
getFilePointer():获取指针位置
seek(long position):设置位置
短点调试程序:
debug模式
f6:单步执行
f5:进入方法执行
f7:跳出方法
单元测试:
@Test:单元测试方法,用在修饰符为public void 方法名(){}这样的方法上
@Before和@After :分别在@Test运行前和运行后去执行
@BeforeClass和@AfterClass :分别在类加载和类结束时执行