java字节流,字节输入流,InputStream介绍

KLQ 2020-08-19 15:06:18 java常见问答 3789

你了解Java字节输入流吗?下面的文章要给大家介绍的就是这个方面的知识,主要介绍的是InputStream类的常用子类和常用方法,一起来了解一下。

InputStream是Java所有字节输入流类的父类。

字节输入流

InputStream类及其子类的对象表示字节输入流,InputStream类的常用子类如下:

InputStream类的常用子类

使用InputStream类的方法能够从流中读取一个或一批字节。

下面介绍了InputStream类的常用方法。

1、int read()-从输入流中读取一个8位的字节,并把它转换为0~255的整数,最后返回整数,假如,返回-1,那么就表示已经到了输入流的末尾,为了提高I/O操作的效率,建议尽量使用read()方法的另外两种形式;

2、int read(byte[] b)-从输入流中读取若干字节,并且,将它们保存到参数b指定的字节数组中,这个方法返回读取的字节数,假如,返回-1,那么就表示已经到了输入流的末尾。

3、int read(byte[] b, int off, int len)-从输入流中读取若干字节,并且将它们保存到参数b指定的字节数组中,其中,off指定在字节数组中开始保存数据的起始下标;len指定读取的字节数。这个方法返回实际读取的字节数,假如,返回-1,那么,就表示已经到了输入流的末尾;

4、void close()-关闭输入流,在读操作完成之后,应该关闭输入流,系统将会释放和这个输入流相关的资源,注意,InputStream类本身的close()方法不执行任何操作,但是它的许多子类重写了close()方法;

5、int available()-返回可以从输入流中读取的字节数;

6、long skip(long n)-从输入流中跳过参数n指定数目的字节。该方法返回跳过的字节数;

7、void mark(int readLimit)-在输入流的当前位置开始设置标记,参数readLimit则指定了最多被设置标记的字节数;

8、boolean markSupported()-判断当前输入流是否允许设置标记,是则返回true,否则返回 false;

9、void reset()-将输入流的指针返回到设置标记的起始处;

注意了,在使用mark()方法和reset()方法之前,要先判断该文件系统是否支持这两个方法,以避免对程序造成影响。

以上就是对于InputStream类的常用子类和常用方法的介绍了,更多相关内容请继续来本站的java入门栏目了解吧。

推荐阅读:

java字节流,字节输出流,OutputStream介绍

java系统流是什么?详解

java流的概念,java输入输出流详解