字节流在基础部分使用中的常遇的小问题,以及字节流和字符流的对比.

本文介绍了在使用字节流和字符流时遇到的一些常见问题,包括read方法的原理、缓冲区的概念以及两者之间的区别。讨论了jpg文件转化为txt后为何删除数据会导致文件损坏,强调了字节流与字符流在缓冲区、写入操作和继承结构上的差异。
摘要由CSDN通过智能技术生成

很多刚接触的朋友在使用字节流和字符流时候会遇到一些小问题,网上搜索很难找到,现暂发布一些拙见,有问题欢迎多多提出.
先贴代码
在这里插入图片描述
第二处红标这个地方read读取的究竟是bytes数组中的什么?

答:这个地方是用到了bytes数组的内容,是作为缓冲区存在的.

fis,read,返回值是一个数字255,为什么是255?

答,这个返回值为255,是首个字节的内容 ,输入流的read方法的返回值,分为两种情况:使用数组和不使用数组,如果使用了数组,那么read方法的返回值就是存入的长度,如果不使用数组,返回值为当前字节.

fis.read(bytes)是否只是用到了bytes数组中的数组长度? (因为len=fis.read(bytes)) 如果只用到了数组的长度的话,那么为什么写数组的长度不行?

答,并不是用到其长度,而是让数组作为缓冲区的存在,用于中转,

fis.read()读取到的数据暂时存放在哪里? 是不是在内存中像队列一样write方法挨个写入?

答:(1),不使用数组的情况下,暂时存放在变量中(2)使用数组的情况下,存在数组.

为什么jpg传成txt文本后,随便删除任何一个数据,都会显示文件已损坏,是有什么机制检测吗?图片文件在字节里面是怎么保存和显示的?如果他是一块一块的,我删除一部分会不会可以显示,但是有一部分是空白.

答:因为编码的方式不同,删除掉的那一个部分和自己打的部分并不是完全相同的,虽然看着都一样,但是属性改变了.

对于字节流和字符流的对比:

字节流与和字符流的使用非常相似,两者除了操作代码上的不同之外,是否还有其他的不同呢?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值