io包下的其他对象

来源:互联网 发布:知乎 竹纤维抹布 编辑:程序博客网 时间:2024/04/29 21:14
 

20110902                             Io包下的其他对象

一.           打印流

1.PrintStream: 为其他输出流添加了功能,使它们能够方便地打印各种数据值表示形式。在OutputStream基础上提供了增强的功能,即可以方便地输出各种类型的数据(而不仅限于byte类型)的格式化表示形式。

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

4. PrintWriter:向文本输出流打印对象的格式化表示形式。

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

2. 构造方法:以接收四种类型的值。
字符串路径
File对象

OutputStream
Writer

例1. 编写可自动刷新,又可执行编码得程序

PrintWriter pw = new PrintWriter(new OutputStreamWriter(new FileOutputStream("a.txt"),"utf-8"),true);

二.          操作基本数据类型的流对象

1.DataInputStream:数据输入流允许应用程序以与机器无关方式从底层输入流中读取基本 Java 数据类型。

      2.DataOutputStream:数据输出流允许应用程序以适当方式将基本 Java 数据类型写入输出流中。

      3. 注意:通常只要操作基本数据类型的数据,就需要通过DataStream进行包装。通常成对使用。

三.对象序列化

1.对象序列化是指将对象的状态数据以字节流的形式进行处理,一般用于实现对象的持久性,即长久保持一个对象的状态并在需要时获取该对象的信息以重新构造一个状态完全相同的对象。简单的说,对象的序列化可以理解为使用I/O“对象流”类型实现的对象读/写操作。---

2.对象流

1.对象流分为对象输入流ObjectInputStream和对象输出流ObjectOutputStream两类

2构造方法

ObjectInputStream()

ObjectInputStream(InputStream in)

3.实例方法

ReadObject():从ObjectInputStream读取对象。

WritePbject(Object obj):将指定的对象写入ObjectOutputStream

3.注意:并不是任何引用类型的对象都可以被序列化,只有实现了java.io.Serializable接口的类的对象才可以。--出于安全性考虑,因为一些封装敏感信息或时效性强的信息的类不建议支持序列化,以避免出现泄密或信息失效问题。

 

原创粉丝点击