阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_04 IO字节流_11_字节输入流一次读取多个字节
Posted wangjunwei
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_04 IO字节流_11_字节输入流一次读取多个字节相关的知识,希望对你有一定的参考价值。
参数带字节数组的
把字节数组转换为字符串
文件里面有ABCDE
再来读取一次
再来读取一次。读取的结果是ED
再来读取,-1到时输出了。但是还是把ED读取出来了。
原理
第一步创建流对象
第二部创建数组
第三步读取数据
jav程序找JVM。JVM找OS,OS调用他的方法来读取数据
第一次读取会读到A。因为字节是两位的 所以还会读取到B
len是读取的有效字节个数
读完A和B,指针就指向C。再来第二次读取
第二次读取的是C和D
C和D就会把A和B覆盖
指针指向E,开始第三次读取。读取到E把C覆盖掉,。再读取后面没有了。所以打印出来的是E和D
读取后,指针会向后移一位到结束标记。
第四次读取,没有数据就会返回-1
方法的参数起到缓冲作用
使用循环优化代码
转换成字符串
字符串的后面有一堆的空格,因为读取的byte长度是1024的长度。就读取到了5个,。后面很多空间就浪费了
转换的时候,使用地个人构造方法来转换。有效的长度就是len
以上是关于阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_04 IO字节流_11_字节输入流一次读取多个字节的主要内容,如果未能解决你的问题,请参考以下文章
阶段1 语言基础+高级_1-3-Java语言高级_05-异常与多线程_第1节 异常_3_异常的产生过程解析
阶段1 语言基础+高级_1-3-Java语言高级_07-网络编程_第1节 网络通信概述_3_网络通信协议分类
阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_01 File类_3_绝对路径和相对路径
阶段1 语言基础+高级_1-3-Java语言高级_07 缓冲流_4_缓冲流的效率测试_复制文件