第十二章 5 IO包下的其他对象

 

                      Io包下的其他对象

一.           打印流

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

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

System.out.println() 是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接口的类的对象才可以。--出于安全性考虑,因为一些封装敏感信息或时效性强的信息的类不建议支持序列化,以避免出现泄密或信息失效问题。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值