基础IO类和相关方法
IO类最基本的有四个抽象类,InputStream、OutputStream、Reader、Writer。最基本的方法是read()和write()方法,其他都是这四类流的子类,方法也是通过这两类方法衍生而成。大部分的IO源码都是native标注,源码都是C/C++写的。
1、InputStream
InputStream是定义了一个Java流式字节输入模式的抽象类。该类的所有方法在出错条件下引发IOException异常,它的主要方法如下:
| 方法 | 方法介绍 | 
| public int available() | 返回可读的字节数量 | 
| public int read(byte b[],int off,int len) | 把从第off位置读取len长度字节的数据放到byte数组中 | 
| public abstract int read() | 读取数据 | 
| public long skip(long n) | 跳过指定个数的字节 | 
| public void close() | 关闭流,释放资源 | 
| public synchronized void reset() | 重置读取位置为上次mark标记的位置 | 
| public boolean markSupported() | 如果调用的流支付mark()/reset()就返回true | 
2、OutputStream
OutputStream定义了一个Java流式字节输出模式的抽象类,该类的所有方法返回一个void值并且在出错的情况下引发一个IOException异常。主要方法如下:
| 方法 | 方法介绍 | 
| void write(int b) | 
 | 
| void write(byte buffer[]) | 
 | 
| void write(byte buffer[],int offset,int numBytes) | 写入数组buffer以buffer[offset] | 
| void flush() | 刷新缓冲区 | 
| void close() | 关闭输出流,关闭后的写操作会产生IOException异常 | 
3、Reader类
Reader类是Java定义的流式字符输入模式的抽象类。类中的方法在出错时引发IOException异常
| 方法 | 描述 | 
| int read() | 如果调用的输入流的下一个字符可读则返回一个整型,遇到文件尾时返回-1 | 
| int read(char buffer[]) | 从缓冲区中读取字符,返回实际成功读取的字符数,遇到文件尾返回-1 | 
| abstract int read(char buffer[],int offset,int numChars) | 试图读取buffer中从buffer[offset]开始的numChars个字符,返回实际成功读取的字符数,遇到文件尾返回-1 | 
| Boolean ready() | 如果下一个输入请求不等待则返回true,否则返回false | 
| Long skip(long numChars) | 跳过numChars个输入字符,返回跳过的字符数 | 
| Boolean markSupported() | 判断当前流是否支持标记流 | 
| void reset() | 重置读取位置为上次mark标记的位置 | 
| void mark(int numChars) | 在输入流的当前位置设立一个标志。该输入流在numChars个字符被读取之前有效 | 
| abstract void close() | 关闭输入源,进一步的读取将会产生IOException异常 | 
4、Writer类
Writer是定义流式字符输出的抽象类,所有该类的方法都返回一个void值并在出错条件下引发IOException异常。
| 方法 | 描述 | 
| void write(char buffer[]) | 向一个输出流写一个完整的字符数组 | 
| abstract void write(char buffer[],int offset,int numChars) | 向调用的输出流写入数组buffer[offset]为起点的numChars个字符区域的内容 | 
| abstract void close() | 关闭输出流,关闭后进行写操作会产生IOException异常 | 
| abstract void flush() | 刷新缓冲区 | 
| Writer append(CharSequence csq) | 追加一个字符序列 | 
| Writer append(CharSequence csq,int start,int end) | 追加写入一个字符序列的一部分,从start位置开始,end位置结束 | 
| Writer append(char c) | 追加写入一个16位的字符 | 
 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号