java之I/O流

I/O

一、流的分类:

  1. 从流动方向上看:
    • 输入流:比如 system。in
    • 输出流:比如 system.out
  2. 从读取类型上分:
    • 字节流
    • 字符流
  3. 从发生的源头上分:
    • 节点流:直接操作目标设备对应的流。如文件流,标准输入输出流
    • 过滤流:继承带有关键字 Filter 的流。用于包装操作节点的流,方便读写各种类型的数据

二、字节流

InputStream

子类:

在这里插入图片描述

方法说明
abstract int read ()从流中读入数据需要子类覆盖,而本类中的其他带参数的read方法不是抽象方法,他们都调用read ()
int read (byte b[])读入多个字节到缓存区中,同时返回读到的字节数目,如果读完则返回-1
int read (byte b[], int off, int len)从输入流中读取最大长度为len的数据,写入数组b中从索引off开始的位置,并返回实际读取的字节数,如果读完则返回-1
方法说明
write (int b)将一个整数输出到流中(只输出低八位字节,其他二十四位忽
略)。
write (byte b[])将字节数组中的数据输出到流中。
write (byte b[], int off, int len)将数组b中从off指定的位置开始,长度为len的数据输出到流
中。
flush()刷空输出流,并将缓冲区中的数据强制送出,只有
BufferedOutputStream给出真正实现,其他流都是调用该流传
入对象的相应方法。当需要建立一个输出缓冲区,多次写入,
一次写出,一定要用BufferedOutputStream,否则写入流的数
据没有缓存功能。
close ()关闭流并释放相关的系统资源。

Outputstream

子类:

在这里插入图片描述

三、标准输入输出流

  • 标准输入,对象是键盘,java 对应类是 system.in
  • 标准输出,对象是屏幕, java 对应类是 system.out

四、字符流

Reader

子类:
在这里插入图片描述

Writer

子类:

在这里插入图片描述

字节流与字符流之间的转化:

输入的字节流转为字符流需要用到 inputstreamReader 的构造方法:

InputStreamReader ins = new InputStreamReader(System.in);
InputStreamReader ins = new InputStreamReader(new FileInputStream("test.txt"));

输出字符流转为字节流用到 OutputStreamWriterPrintWriter 的构造方法:

OutputStreamWriter outs = new OutputStreamWriter(new FileOutputStream("test.txt"));
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值