Java流

输入

把电脑硬盘上的东西读到数据中,称为输入(input) ,对数据进行 read操作

输出

从程序往外部设备写数据,称为输出(output),进行数据write操作

在这里插入图片描述

输入流

定义: 往程序中读

所有输入流都是InputStream类或者Reader类的子类

类名以InputStream结尾的类都是InputStream的子类
类名以Reader结尾的类都是Reader的子类

输出流

定义: 从程序往外写

所有输出流都是OutputStream类或者Writer类的子类。

类名以OutputStream结尾的类都是OutputStream的子类。
类名以Writer结尾的类都是Writer类的子类。

根据数据流编码格式分为字节流和字符流

字节流

InputStream和OutputStream的子类都是字节流

-可以读写二进制文件,主要处理音频、图片、歌曲、字节流,处理单元为1个字节。

字节流中常用类

     字节输入流 FileInputStream
     字节输出流 FileOutputStream

字符流

Reader和Writer的子类都是字符流
-主要处理字符或字符串,字符流处理单元为2个字节。
-字节流将读取到的字节数据,去指定的编码表中获取对应文字。

字符流中常用类

字符输入流 FileReader
字符输出流 FileWriter

输入输出节点字节流

InputStream的基本方法

----读取一个字节并以整数的形式返回(0~255),如果返回-1已到输入流的末尾。

int read() throws IOException

----读取一系列字节并存储到一个数组buffer,返回实际读取的字节数,如果读取前已到输入流的末尾返回-1

int read(byte[] buffer) throws IOException

----关闭流释放内存资源

void close() throws IOException

OutputStream的基本方法

----向输出流中写入一个字节数据,该字节数据为参数b的低8位

void write(int b) throws IOException

----将一个字节类型的数组中的从指定位置(off)开始的len个字节写入到输出流

void write(byte[] b, int off, int len) throws IOException

----关闭流释放内存资源

void close() throws IOException

根据封装类型分为节点流和处理流

节点流

如果流封装的是某种特定的数据源,如文件、字符串、字符串数组等,则称为节点流。

节点流中常用类

字节输入流 FileInputStream
字节输出流 FileOutputStream
字符输入流 FileReader
字符输出流 FileWriter

处理流

如果流封装的是其它流对象,称为处理流。
处理流提供了缓冲功能,提高读写效率,同时增加了一些新的方法。

处理流中常用类

缓冲字节输出流 BufferedOutputStream
缓冲字节输入流 BufferedInputStream
缓冲字符输入流 BufferedReader
缓冲字符输出流 BufferedWriter

输入输出节点字符流

Reader的基本方法

----读取一个字符并以整数的形式返回,如果返回-1已到输入流的末尾。

int read() throws IOException

----读取一系列字符并存储到一个数组buffer,返回实际读取的字符数,如果读取前已到输入流的末尾返回-1

int read(char[] cbuf) throws IOException

—关闭

void close() throws IOException

Writer 的基本方法

向输出流中写入一个字符数据,该字节数据为参数b的16位

void write(int c) throws IOException

一个字符类型的数组中的数据写入输出流,

void write(char[] cbuf) throws IOException

将一个字符类型的数组中的从指定位置(offset)开始的length个字符写入到输出流

void write(char[] cbuf, int offset, int length) throws IOException

关闭

void close() throws IOException 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值