Java中面向字节的输入输出流
字节流以字节为传输单位,用来读写8位的数据,除了能够处理纯文本文件之外,还能用来处理二进制文件的数据。InputStream类和OutputStream类是所有字节流的父类。
InputStream类
面向字节的输入流都是InputStream类的子类,其类层次结构如图10-6所示。
图10-6 InputStream的类层次结构图
表 10-5 列出了 InputStream 的主要子类及说明。
表 10-5 InputStream 的主要子类
类名
功能描述
FileInputStream
从文件中读取的输入流
PipedInputStream
输入管道
FilterInputStream
过滤输入流
ByteArrayInputStream
从字节数组读取的输入流
SequenceInputStream
两个或多个输入流的联合输入流,按顺序读取
ObjectInputStream
对象的输入流
LineNumberInputStream
为文本文件输入流附加行号
DataInputStream
包含读取 Java 标准数据类型方法的输入流
BufferedInputStream
缓冲输入流
PushbackInputStream
返回一个字节并把此字节放回输入流
InputStream 流类中包含一套所有输入都需要的方法,可以完成最基本的从输入流读入数据
的功能。表 10-6 列出了其中常用的方法及说明。
表 10-6 InputStream 的常用方法
方法
功能描述
void close()
关闭输入流
void mark()
标记输入流的当前位置
void reset()
将读取位置返回到标记处
int read()
从输入流中当前位置读入一个字节的二进制数据,以此数据为低位字节,补足16位的整型量(0~255)后返回,若输入流中当前位置没有数据,则返回-1
int read(byte b[])
从输入流中的当前位置连续读入多个字节保存在数组中,并返回所读取的字节数
int read(byte b[], int off, int len)
从输入流中当前位置连续读len长的字节,从数组第off+1个元素位置处开始存放,并返回所读取的字节数
int available()
返回输入流中可以读取的字节数
long skip(long n)
略过n个字节
long skip(long n)
跳过流内的n个字符
boolean markSupported()
测试输入数据流是否支持标记
OutputStream类
面向字节的输出流都是OutputStream类的子类,其类层次结构如图10-7所示。
图10-7 OutputStream的类层次结构图
10-7列出了OutputStream的主要子类及说明。
表10-7 OutputStream的主要子类
类名
功能描述
FileOutputStream
写入文件的输出流
PipedOutputStream
输出管道
FilterOutputStream
过滤输出流
By
Java中面向字节的输入输出流 来自淘豆网m.daumloan.com转载请标明出处.