Io文件流操作-流
1.1读写字节 抽象类InputStream和OutputStream 各自拥有一个抽象方法 abstract void read()/write() ,在执行时都会发生 阻塞 ,直至字节被读入或者写出,并且在完成读写操作之后,都要调用 close()方法 来关闭流,以释放有限的系统资源。 如果不想发生阻塞,可以通过available()方法来检查当前读入的字节数量来实现: int bytesavaliable = in . avaliable ( ) ; if ( bytesavaliable > 0 ) { byte [ ] data = new byte [ bytesavaliable ] ; in . read ( data ) ; } read()方法 特点:读入一个字节并返回读入的字节,或者在遇到输入源结尾时返回-1;因此在设计具体的输入流时,必须覆盖该方法。 除此之外,InputStream类还拥有很多非抽象方法: long skip(long n) ,在输入流中跳过n个字节,并返回实际读入的字节数 void mark(int readlimit) ,在输入流的当前位置打一个标记(并不是所有流都支持这一操作) void reset() ,返回到最后一个标记,随后对 read()方法 的调用将重新读入这些字节。如果当前没有标记,则这个流不被重置 boolean