前言:
眼前同学们对“java读取文件字节数”可能比较注重,兄弟们都想要学习一些“java读取文件字节数”的相关资讯。那么小编也在网上收集了一些对于“java读取文件字节数””的相关文章,希望姐妹们能喜欢,各位老铁们一起来了解一下吧!字节流字节流是指流的内容是字节,字节流也称为二进制流。所有的字节输入流都继承了InputStream抽象类;所有的字节输出流都继承了OutputStream抽象类。InputStream和OutputStream抽象类定义了最基本的输入和输出方法。
InputStream的read() 方法
InputStream类提供了以下用于读取字节流的方法:
public abstract int read() throws IOException
该方法的作用是从来源输入流中读取数据的下一个字节到Java程序中
该方法的返回值是从0到255的int类型的值
如果没有可用的字节,因为已经达到输入流的末尾,则返回‐1
该方法调用的时候只读取一个字节,因此往往放在while之后的条件判断中,例如:
while ( (len = inputstream.read()) != ‐1)
InputStream还提供了用于批量读取字节的read方法,包括:
public int read(byte[] b) throws IOExceptionpublic int read(byte[] b, int off, int len) throws IOException
第一个方法从来源输入流中读取一定数量的字节数,并存储到缓冲区数组b中,返回值为实际读取的字节数。
该方法运行时读取一定数量的字节数,Java会尽可能读取的字节数是数组b的长度,但也有可能读取少于b长度的字节数。如果没有可用的字节,因为已经达到输入流的末尾,则返回‐1
第二个方法多了两个参数,off 和 len。
off 是存储到数组b中时元素下标的偏移量,而len则是要读取的字节数。OutputStream的write方法
OutputStream类则提供了write方法用于将指定的数据写入到输出流中
最简单的write方法如下:
public void write(int b);
该方法的作用是往输出流中写入一个字节b
OutputStream类还包括以下2个方法:
void write( byte b[ ] );
该方法的作用是往输出流中写一个字节数组b
void write( byte b[ ], int off, int len );
该方法的作用是把字节数组b中从下标off开始,长度为len的字节写入到输出流中
OutputStream中还包括了flush方法:
public void flush()
该方法是刷空输出流,并输出所有被缓存的字节。
由于某些流支持缓存功能,flush法将把缓存中所有内容强制输出到流中。
OutputStream还提供了关闭输出流的方法:
public void close();
该方法在输出流操作完毕后必须关闭,否则可能会产生异常。
实际上,InputStream类也提供了close方法。
考虑到IO处理时可能会产生异常,一般在编程时,把close方法的调用放
在finally语句块中,保证close方法确定会被调用执行。
标签: #java读取文件字节数