老师你好,下面那一段代码怎么理解呢,看不太懂是什么意思,课堂上也听的不是很懂

老师你好,下面那一段代码怎么理解呢,看不太懂是什么意思,课堂上也听的不是很懂

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕小蓝 2022-11-03 18:29:55

同学你好,老师将同学圈起来的三句代码分别做解释:

1.第一句其实就是:FileOutputStream fos = new FileOutputStream(new File("D:/test.txt"));,只不过因为代码逻辑需要,拆分为了三句。这句代码的意义是:创建一个文件字节输出流,该输出流用于操作D盘下的test.txt文档。

2.第二句其实是:OutputStreamWriter osw = new OutputStreamWriter(fos,"UTF-8");这句代码的意义是:基于第一部的流对象,创建转换流对象,并且将编码字符集格式设置为UTF-8。此时通过这个流对象向文件写出数据时,编码格式也就被规定为UTF-8了。

3.第三句代码的意义是:使用第二步的流对象,向test.txt文件中写数据,数据内容为“这是一个新文件!”。

祝学习愉快~

  • 提问者 神探福尔摩猫 #1

    老师,OutputStreamWriter不是说将字符输出流转换成字节输出流吗,那第一句那里为什么是创建文件字节输出流而不是文件字符输出流呢

    2022-11-03 22:16:12
  • 同学你好,字符的输出需要通过字符流来操作,但是本质最后还是通过字节流输出到计算机上进行存储的,因此OutputStreamWriter流的作用就是利用字节流作为底层输出流然后构建字符输出流,字符输出流输出字符到流中,然后通过指定的字符集把流中的字符编码成字节输出到字节流中,其作用就是一个桥梁,使得双方链接起来。

    根据上述理解,这里同学可以定位到该对象的底层查看,创建OutputStreamWriter对象时,构造方法中需传递字节输出流和指定的编码表名称

    https://img1.sycdn.imooc.com//climg/6364740d09f19fe009730269.jpg

    祝学习愉快~

    2022-11-04 10:17:19
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师