第二周第一天
Java IO知识
IO流四大家族:
- 1.InputStream:输入字节流。
- 2.OutputStream:输出字节流。
- 3.Reader:输入字符流。
- 4.Writer:输出字符流。
其中1、2统称字节流,3、4统称字符流
字节输入流(InputStream)
常用方法:
- int read();从输入流读取一个8位的字节,把它转换成0~255之间的整数,并返回这一整数。
- int read(byte[] b);从输入流读取若干字节,把它们保存到参数b指定的字节数组中,返回的整数表示读取字节数。
- int read(byte[] b,int off,int len);从输入流读取若干字节,把它们保存到参数b指定的字节数组中,off指定字节数组开始保存数据的起始下标,len表示读取的字节数目。
- void close();关闭此输入流并释放与该流关联的所有系统资源。
前三个read()方法都是用来读数据的,其中,第一个read()方法是从输入流中逐个读入字节,而第二个和第三个read()方法则将若干字节以字节数组的形式一次性读入,从而提高读数据的效率。在进行IO流操作时,当前IO流会占用一定的内存,由于系统资源宝贵,因此,在IO流操作结束后,应该调用close()方法关闭流,从而释放当前IO流所占的系统资源。
字节输出流(OutputStream)
常用方法:
- void write(int b);向输出流写入一个字节。
- void write(byte[] b);把参数b指定的字节数组的所有字节写到输出流。
- void write(byte[] b,int off,int len);将指定byte数组中从偏移量off开始的len个字节写入输出流。
- void flush();刷新此输出流并强制写出所有缓冲的输出字节。
- void close();关闭此输出流并释放与此流相关的所有系统资源。
前三个是重载的write()方法,都是用于向输出流写入字节,其中,第一个方法逐个写入字节,后两个方法是将若干个字节以字节数组的形式一次性写入,从而提高写数据的效率。flush()方法用来将当前输出流缓冲区(通常是字节数组)中的数据强制写入目标设备,此过程称为刷新。close()方法是用来关闭流并释放与当前IO流相关的系统资源。