传智播客旗下技术交流社区北京校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© yangzi 初级黑马   /  2019-5-13 14:42  /  68 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

字节打印
打印流分类:
字节打印流:PrintStream   println
字符打印流:PrintWriter    println
打印流的特点:
1.只负责输出数据,不负责读取数据
2.永远不会抛出IOException
3.有自己的特有方法
对象序列化流
介绍:
1对象序列化:就是将对象保存到磁盘中,或者在网络中传输对象
2就是使用一个字节序列表示一个对象
4.字节`序列写到文件之后,相当于文件中持久保存了一个对象的信息
5.对象序列化流:ObjectOutputStream
6.将Java对象的原始数据类型和图形写入OutputStream,可以使用ObjectInputStream读取(重构)对象.
7.注意事项:
(1).一个对象想要被序列化,该对象所属的类必须实现Serializable接口
(2)Serializable是一个标记接口,实现该接口,不需要重写任何方法
对象反序列化流
ObjectInputStream
方法:Object read Object
seriaVersionUID
用对象序列化流序列化了一个对象后,假如我们修改了对象所属的类文件,读取数据会不会出问题呢?
会出问题,会抛出InvalidClassException异常
如果出问题了,如何解决呢?
重新序列化
给对象所属的类加一个serialVersionUID
private static final long serialVersionUID = 42L;
transient
如果一个对象中的某个成员变量的值不想被序列化,又该如何实现呢?
给该成员变量加transient关键字修饰,该关键字标记的成员变量不参与序列化过程
Properties作为Map集合的使用
是一个Map体系的集合类
可以保存到流中或从流中加载
属性列表中的每个键及其应对的值都是一个字符串
特有方法
Object setProperty(String key, String value)        设置集合的键和值,都是String类型,底层调用 Hashtable方法 put
String getProperty(String key)        使用此属性列表中指定的键搜索属性
Set<String> stringPropertyNames()        从该属性列表中返回一个不可修改的键集,其中键及其对应的值是字符串

与IO流结合的方法
void load(InputStream inStream)        从输入字节流读取属性列表(键和元素对)
void load(Reader reader)        从输入字符流读取属性列表(键和元素对)
void store(OutputStream out, String comments)        将此属性列表(键和元素对)写入此 Properties表中,以适合于使用 load(InputStream)方法的格式写入输出字节流
void store(Writer writer, String comments)        将此属性列表(键和元素对)写入此 Properties表中,以适合使用 load(Reader)方法的格式写入输出字符流
分享至 : QQ空间
收藏

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马