Properties 用于存储“键-值”对数据

来源:互联网 发布:淘宝土特产店名 编辑:程序博客网 时间:2024/06/03 16:16

1.Properties  用于存储“键-值”对数据

(1)该集合类型中定义了load()、store()以及save()方法等,可以将文件中的键值对信息装载到集合对象中,或将集合对象中的键值对信息存入文件

(2)存入键值对:setProperty(String key,String value);

获取键对应的值:String getProperty(String key);
String getProperty(String key,String defaultValue);

获取集合中所有键:Enumeration propertyNames();

列出该集合中的所有键值对,可以通过参数--打印流指定列出到的目的地:voidlist(PrintStream);  void list(PrintWriter

voidload(InputStream); 将流中的规则数据加载进行集合

可以将集合中的数据进行指定目的的存储:
void store(OutputStram,String comment);

IO其他类

1.       打印流

(1)PrintStream    可以方便地输出各种类型的数据的格式化表示形式

(2)构造方法:PrintStream可以作为节点流使用而直接关联到文件数据源,也可以作为处理流关联到其他的字节输出流并向其输出数据提供增强的功能。
PrintStream(File file)
PrintStream(String fileName)
PrintStream(OutputStream out)
PrintStream(OutputStream out,boolean autoFlush)

(3) PrintWriter:和PrintStream相似,区别在于:作为处理流使用时,PrintStream只能封装OutputStream类型的字节输出流,而PrintWriter既可封装OutputStream,还能够封装Writer类型字符输出流并增强其功能。

(4) DataOutputStream:能够直接将Java基本类型数据写出其他的字节输出流,随后可以使用DataInputStream输入流读取这些数据

构造方法 public DataOutputStream(OutputStream);

(5) 对象的序列化

a序列化的本意是把并行数据转换成串行数据的处理过程

b对象序列化是指将对象的状态数据以字节流的形式进行处理

c对象的序列化可以理解为使用I/O“对象流”类型实现的对象读/写操作。---ObjectInputStream以及ObjectOutputStream

(6) 反序列化

a ObjectInputStream对象的readObject()

b注意:

(a)              并不是任何引用类型的对象都可以被序列化,只有实现了java.io.Serializable接口的类的对象才可以

(b)             类中的静态成员不会被序列化。

(c)              对应非静态的成员如果也不想被序列化,可以通过transient关键字修饰