【1·基础知识】Java流(Stream)、文件(File)和IO

本文介绍了Java.IO包的基础知识,包括字节流(OutputStream和InputStream)、字符流(Writer和Reader)以及缓冲流的使用。内容涵盖了流的概念、输入输出的定义、流的类层次图,以及利用流进行文件复制的例子。强调了字符流在处理文本数据时的优势,并指出缓冲流通过内部缓冲区提高了读写效率。
摘要由CSDN通过智能技术生成

【1·基础知识】Java流(Stream)、文件(File)和IO

前言小结

Java.io 包几乎包含了所有操作输入、输出需要的类。所有这些流类代表了输入源和输出目标。

Java.io 包中的流支持很多种格式,比如:基本类型、对象、本地化字符集等等。

一个流可以理解为一个数据的序列。输入流表示从一个源读取数据,输出流表示向一个目标写数据。

IO主要用于文件传输网络编程



注意:输出和输出是对于内存而言的,从内存中出来就是输出,到内存中就是输入。

Reader & InputStream统称为输入流,这里代表程序要从一个 读取 数据;

Writer & OutputStream统称为输出流,这里代表程序要向一个 目标 写出 数据;

在这里插入图片描述

文件的世界里一切皆为字节

我们必须明确一点的是,一切文件数据(文本、图片、视频等)在存储时,都是以二进制数字的形式保存,都一个一个的字节,那么传输时一样如此。所以,字节流可以传输任意文件数据。在操作流的时候,我们要时刻明确,无论使用什么样的流对象,底层传输的始终为二进制数据。

输入流和输出流的类层次图

在这里插入图片描述

字节流

字节输出流(OutputStream)

java.io.OutputStream抽象类是表示字节输出流的所有类的超类(父类),将指定的字节信息写出到目的地。它定义了字节输出流的基本共性功能方法。

字节输出流的基本共性功能方法:
1public void close() :关闭此输出流并释放与此流相关联的任何系统资源。
2public void flush() :刷新此输出流并强制任何缓冲的输出字节被写出。
3public void write(byte[] b):将 b.length个字节从指定的字节数组写入此输出流。
4public void write(byte[] b, int off, int len) :从指定的字节数组写入 len字节,从偏移量 off开始输出到此输出流。 也就是说从off个字节数开始读取一直到len个字节结束
5public abstract void write(int b) :将指定的字节输出流。

字节输入流(InputStream)

java.io.InputStream抽象类是表示字节输入流的所有类的超类(父类),可以读取字节信息到内存中。它定义了字节输入流的基本共性功能方法。

字节输入流的基本共性功能方法:
1public void close() :关闭此输入流并释放与此流相关联的任何系统资源。
2public abstract int read(): 从输入流读取数据的下一个字节。
3public int read
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值