java iostream_java--IOStream

java流式输入/输出原理

在java程序中,对于数据的输入、输出操作以“流”的方式进行,用以获取不同的数据。

程序中通过标准的方法输入和输出数据。

java.io包定义了多个流类型(类或抽象类)来实现输入、输出功能。

注:所有的输入和输出都是站在程序的角度来说明的。

可以从不同的角度对其进行分类。

<1>按照处理数据的单位不同可以分为字节流和字符流。

<2>按照功能不同可以分为节点流和处理流。

注:

节点流:节点流为可以从一个特定的数据源(节点)读写数据(如:文件、内存)

处理流:处理流是“连接”在已存在的流(节点流或者处理流)之上,通过对数据的处理为程序提供更为强大的读写功能。

610d205ce117?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

图片.png

四个抽象类的输入输出:

610d205ce117?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

图片.png

InputStream:

610d205ce117?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

图片.png

//读取一个字节并以整数的形式返回(0~255)

//如果返回-1,说明已到输入流的末尾。

int read() throws IOException

//读取一系列字节并存储到一个数组buffer

//返回实际读取的字节数,如果读取前已到输入流的末尾返回-1

int read(byte[] buffer) throws IOException

//读取length个字节

//并储存到一个字节数组BUffer中,从offset开始

//返回实际读取的字节数,如果读取前已到输入流的末尾返回-1

int read(byte[] buffer, int offset, int length) throws IOException

//关闭流释放内存资源

void close() throws IOException

//跳过n个字节不读,返回实际跳过的字节数

long skip(long n) throws IOException

OutPutStream的基本方法

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

void write(int b)throws IOException

//将字节类型的数组中的数据写入到输出流

void write(byte[] b) throws IOEXception

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

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

//关闭流释放内存资源

void close() throws IOException

//将输出流中缓冲的数据全部写出到目的地

void flush() throws IOException

字符流:两个字节的输入或者输出

610d205ce117?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

图片.png

Reader用于向程序中输入数据,且数据的处理单位是两个字节。

610d205ce117?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

图片.png

//读取一个字符并以整数的形式返回(0~255)

//如果返回-1已到输入流的末尾

int read() throws IPEXception

//读取一些列字符并存储到一个数组buffer

//返回实际读取的字符数,如果读取前已到输入流的末尾返回-1

int read(char[] cbuf) throws IOExcetion

//读取length个字符

//并存储到一个数组BUffer,offset位置开始

//返回实际读取的字符数,如果读取前已到输入流的末尾返回-1

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

//关闭流释放内存资源

void close() throws IOException

//跳过n个字符不读,返回实际跳过的字节数

long skip(long n) throws IOException

Writer输出一个字符数据:

610d205ce117?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

图片.png

//向流中写入一个字符数据,该字符数据为参数b的低16位

void write(int b ) throws IOException

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

void write(char[] cbuf) throws IOException

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

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

//将一个字符串中的字符写入到输出流

void write(String string) throws IOException

//将一个字符串从offset开始的length个字符写入到输出流

void write(String string, int offset, int length) throws IOException

//关闭流释放内存资源

void close() throws IOException

//将输出流中缓存的数据全部写出到目的地

void flush() throws IOException

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值