IO流概述:
IO(输入/输出)是所有程序必要的一部分,其中包括,使程序读取外部数据,用户的输入,程序记录,将数据存储到硬盘等。Java的IO通过java.io包下的类和接口来支持,在java的IO包下主要包括输入输出流,其中又可分为字节流和字符流。其中字节流以字节为单位来处理输入输出操作,而字符流则以字符流来处理输入输出操作。
字节流与字符流:
InputStream和Reader
InputStream和Reader是所有输入流的抽象基类,本身并不能创建实例来执行输入,但它们将成为所有输入流的末班,所以他们的方法是所有输入流都可以使用的方法
InputStream包含下列方法:
int read():返回所读取的字节数。
int read(byte[] b):从输入流中最多读取b.length个字节的数据,并将其从在数组b,返回实际读取的字节数。
int read(btte[],int off,int len):从输入流最多读取len个字节的数据,并将其存在数组b中,放入数组b中时,并不是数组起点开始,而是从off位置开始,返回实际读取的字节数
Reader包含如下方法:
int read():返回所读取的字节数。
int read(byte[] b):从输入流中最多读取b.length个字符的数据,并将其从在数组b,返回实际读取的字符数。
int read(byte[] b,int off,int len):从输入流最多读取len个字符的数据,并将其存在数组b中,放入数组b中时,并不是数组起点开始,而是从off位置开始,返回实际读取的字符数。
OutputStream和Writer
这两个流非常相同,也包含了三个方法:
OutputStream包含下列方法
void write(int c):将指定的字节流输出到输出流。
void write(byte[] b):将字节数组中的数据输出到指定输出流。
void wrtie(byte[] b,int off,int len):将字节数组中从off位置开始,长度为len的字节输出到输出流中。
Writer包含下列方法
void write(int c):将指定的字符流输出到输出流。
void write(byte[] b):将字符数组中的数据输出到指定输出流。
void wrtie(byte[] b,int off,int len):字符节数组中从off位置开始,长度为len的字符输出到输出流中。