@csy
#关于IO流中read()的学习体会
最近刚开始学习java,希望大家可以一起讨论下
关于IO中的FileInputStream类的read方法
1.读取字节:read方法,每次可以读取一个字节的数据,提升为int类型。读取到文件末尾,返回-1,我们读取文件a.txt
代码演示
2.使用字节数组读取:read(byte[ ] b),每次读取b的长度个字节到数组中,返回读取的有效字节个数,读取到末尾时,返回-1,代码演示:我们首先设置一个长度为3 的字节数组,这时读取的有效字节个数是3.
紧接着我们把数组的大小改变成50,这个时候有效字节数也变成了50
我们把数组的长度变成1024试试看,此时有效字节长度变成了96
因此我们可以知道当数组的长度小于文件的字节数时,有效字节数就是数组的长度。当数组的长度大于文件的字节数时就是文件的字节数,因此我们可以优化用While()循环来读取,循环条件就是(len=fileInputStream.read(bytes))!=-1),即
读取到末尾时停止打印。将整个文件全部读取并且打印的代码为:
我们也可以设置文件按照自己的要求的数组的大小输出打印,这里以长度为2的数组来演示代码: