1.输入输出流
在Java中,把不同类型的输入输出源抽象为流,其中输入和输出的数据称为数据流。数据流是Java程序发送和接收数据的一个通道,数据流中包括输入流和输出流。通常应用程序中使用输入流读出数据,输出流写入数据。 流式输入、输出的特点是数据的获取和发送均沿数据序列顺序进行。相对于程序来说,输出流是往存储介质或数据通道写入数据,而输入流是从存储介质或数据通道中读取数据
1.先进先出,最先写入输出流的数据最先被输入流读取到。
2.顺序存取,可以一个接一个地往流中写入一串字节,读出时也将按写入顺序读取一串字节,不能随机访问中间的数据。
3.只读或只写,每个流只能是输入流或输出流的一种,不能同时具备两个功能,在一个数据传输通道中,如果既要写入数据,又要读取数据,则要分别提供两个流。
输入流模式
输出流模式
1. InputStream 类中所有方法遇到错误时都会引发 IOException 异常。所以使用时要抛出异常
2.OutputStream 类是所有字节输出流的超类,用于以二进制的形式将数据写入目标设备,该类是抽象类,不能被实例化。
File f=new file("d:/test.txt");
FileOutputStream out=new fileoutputstream(f);
FileOutputStream in=new FileOutputStream(f);
byte bwrite[]={11,21,3,40};
Java流的分类
① 按流向分类
输出流:OutputStream 和 Writer 为基类。
输入流:InputStream 和 Reader 为基类。
② 根据传输数据单位分类
字节流:OutputStream 和 InputStream 为基类。
字符流:Writer 和 Reader 为基类。
一、输入输出字节流
1.1 概念:
字节输入输出流:每次只操作一个字节(读取或写入),字节操作流,默认每次执行写入操作