Java语言的输入输出/IO流

输入输出是指程序与外部设备或其他计算机进行交互的操作

输入流:将数据从外设或外存(如键盘、鼠标、文件等)传递到应用程序的流

输出流:将数据从应用程序传递到外设或外存(如屏幕、打印机、文件等)的流

缓冲流:专门用于传送数据的一块内存,提高内存与外部设备之间的数据传输效率

Java流类图结构


I/O流

字节流与字符流

 1、字节流:可以操作任何数据的传入和传出,因此传输的文件可以是:音频,视频,图片,文本

 字符流:只能传输文本类型的数据(人可以认识的字体),因此传输的文件只可以是:文本,但其有其存在的价值是:在字节流的基础上融入了编码的操作

2、字节流的父类(抽象的abstract):InputStream 字节输入流(读)

                                                       OutputStream 字节输出流(写)

字符流的父类(抽象的abstract):Reader 字符输入流

                                                        Writer   字符输出流

字节流的写代码


创建file:File file=new File(D:\\java\\lib);

字节流的读代码


FileInputStream

字符流的写代码


FileWriter

字符流的读代码


FileReader

将一个文件(图片视频)拷贝到另一个地方



对象处理流ObjectInputStream\ObjectOutputStream

对象要想保存在磁盘或在网络上传输,其实体类必须可序列化,它是将对象转化为字节序列,使其可以脱机运行。 要想实现序列化,实体类必须实现java.io.serializable接口。


输入输出流的类层次结构图


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。