Java学习(十六)IO流

Java学习(十六)IO流


一、IO流概述及其分类

  • IO流概述

IO流用来处理设备之间的数据传输
Java对数据的操作是通过流的方式
Java用于操作流的对象都在IO包中 java.io

  • IO流分类

1.按数据流向分类
是站在内存角度看,分为输入流(读数据)和输出流(写数据)
2.按照数据类型分类
字节流 可以读写任何类型的文件 比如音频 视频 文本文件
字符流 只能读写文本文件
分类图如下:

  • IO流基类概述
	a:字节流的抽象基类:
		InputStream ()OutputStream(写)。
	b:字符流的抽象基类:
		Reader (读), Writer(写)。
	注:由这四个类派生出来的子类名称都是以其父类名作为子类名的后缀。

二、IO流整体继承体系介绍

整体继承体系图如下

节点流(介质流)

父类InputStreamOutputStreamReaderWriter
文件FileInputStreamFileOutputStreamFileReaderFileWriter
数组ByteArrayInputStreamByteArrayOutputStreamCharArrayReaderCharArrayWriter
字符串StringReaderStringWriter
管道PipedInputStreamPipedOutputStreamPipeReaderPipeWriter

1.文件流:从文件系统中的某个文件中获得字节或者字符进行输入输出。
2.数组流:包含一个内部缓冲区,该缓冲区包含字节或字符。
3.字符串流:其源为一个字符串的字符流。
4.管道:管道输入流应该连接到管道输出流;管道输入流提供要写入管道输出流的所有数据字节或字符。

处理流(装饰流)

父类InputStreamOutputStreamReaderWriter
转换流InputStreamReaderOutputStreamWriter
缓冲流BufferedInputStreamBufferedOutputStreamBufferedReaderBufferedWriter
数据流DataInputStreamDataOutputStream
对象流ObjectInputStreamObjectOutputStream
打印流PrintStreamPrintWriter

1、转换流:字节流转换为字符流,是字节流通向字符流的桥梁,使用指定的字符集读取字节并将其解码为字符。
2、缓冲流:字节缓冲流会创建一个内部缓冲区数组。在读取或跳过流中的字节时,可根据需要从包含的输入流再次填充该内部缓冲区,一次填充多个字节。字符缓冲流从字符输入流中读取文本,缓冲各个字符,从而实现字符、数组和行的高效读取。
3、数据流:数据流允许应用程序以与机器无关方式从底层读取基本 Java 数据类型,允许应用程序以适当方式将基本 Java 数据类型写入输出流中。
4、对象流:ObjectOutputStream 将 Java 对象的基本数据类型和图形写入 OutputStream。可以使用 ObjectInputStream 读取(重构)对象。通过在流中使用文件可以实现对象的持久存储。如果流是网络套接字流,则可以在另一台主机上或另一个进程中重构对象。
5.打印流:能够方便地打印各种数据值表示形式。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值