IO(Input Output)流:IO流用来处理设备之间的数据传输
流按操作数据分为两种:字节流和字符流
流按流向分为:输入流、输出流
字节流的两个顶层父类:
1、InputStream
方法:
int available();
void close();--关闭输入流并释放与流关联的所有系统资源
void mark(int readLimit);--标记此输入流中的当前位置
boolean markSupported();--测试输入流是否支持mark和reset方法
static InputStream nullInputStream()
abstract int read();--从输入流中读取下一个数据字节
int read(byte[] b);--从输入流中读取一定数量的字节,并将其存储到缓冲区数组b中
int read(byte[],int off,int len);--len从输入流中读取多达字节的数据到字节数组中。
byte[] readAllBytes(); --从输入流中读取所有剩余的字节。
int readNBytes(byte[] b,int off,int len); --从输入流中将请求的字节数读取到给定的字节数组中。
byte[] readNBytes(int len); --从输入流中读取指定数量的字节。
void reset(); --将此流重新定位到mark在此输入流上最后一次调用该方法的位置 。
long skip(long n);--跳过并丢弃n此输入流中的数据字节。
void skipNBytes(long n);--跳过并完全丢弃n此输入流中的数据字节。
long transferTo(OutputStream out);--从此输入流中读取所有字节,然后按读取顺序将字节写入给定的输出流。
2、OutPutStream
方法:
void close(); --关闭此输出流并释放与此流关联的所有系统资源。
void flush(); --刷新此输出流,并强制写出所有缓冲的输出字节。
static OutputStream nullOutputStream();
void write(byte[] b);--将b.length指定字节数组中的字节写入此输出流。
void write(byte[] b,int off,int len); --将len指定字节数组中从偏移量开始的字节写入off此输出流。
abstract void write(int b); --将指定的字节写入此输出流。
字符流的两个顶层父类
1、Reader
方法:
abstract void close();--关闭流并释放与其关联的所有系统资源。
void mark(int readAheadLimit);--标记流中的当前位置。
boolean markSupported();--此流是否支持mark()操作。
static Reader nullReader();--返回Reader不读取任何字符的新字符。
int read();--读取单个字符。
int read(char[] cbuf);--将字符读入数组。
abstract int read(char[] cbuf, int off, int len);--将字符读入数组的一部分。
int read(CharBuffer target);--尝试将字符读入指定的字符缓冲区。
boolean ready();--此流是否已准备好被读取。
void reset();--重置流。
long skip(long n);--跳过字符。
long transferTo(Writer out);--从该读取器读取所有字符,并按照读取顺序将这些字符写入给定的写入器。
2、Writer
方法:
Writer append(char c);--将指定字符追加到此编写器。
Writer append(CharSequence csq);--将指定的字符序列附加到此编写器。
Writer append(CharSequence csq, int start, int end);--将指定字符序列的子序列追加到此编写器。
abstract void close();--关闭流,先冲洗。
abstract void flush();--冲洗流。(抽象方法需要子类实现)
static Writer nullWriter();--返回一个Writer丢弃所有字符的新字符。
void write(char[] cbuf);--写一个字符数组。
abstract void write(char[] cbuf, int off, int len);--写入一部分字符数组。
void write(int c);--写一个字符。
void write(String str);--写一个字符串。
void write(String str, int off, int len);--写入字符串的一部分。