创建FileOutputStream对象不用加第二个参数“true”吗?

创建FileOutputStream对象不用加第二个参数“true”吗?

FileOutputStream fos = new FileOutputStream("abccopy.jpg",true);

不加这个参数不会导致图片数据循环写入的时候覆盖上一次写入的数据吗?

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

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

2回答
好帮手慕小脸 2020-10-08 14:26:40

同学你好,

1、不需要加上的

2、不会的,传入true表示在一个文件中追加内容。但是在复制整个文件时,可以不需要设置append,使用默认的false。简单理解:

在复制整个文件的过程中,一次就完成了复制。如果设置了append为true,那么下一次执行时,会在这个文件中继续添加一遍。使用默认的false,这个程序再次执行的时候,会正常的复制,不会在原有的复制文件后继续追加

如果我的回答解决了你的疑惑,请采纳,祝学习愉快~

  • 范不 #1

    一次就复制完了那为什么还要循环????

    2021-01-26 19:47:16
  • 同学你好,因为在课程中添加了如下内容:

    http://img1.sycdn.imooc.com//climg/6010c68f09b6cfbb04040151.jpg

    这里的数组b是一个缓存区的作用,为防止文件过大一次读取,所以读取时只读取1024字节的数据,然后将这1024字节的数据写入,重复这个读取写入过程,(即循环)直到源文件全部数据被读取写入到目标。

    祝学习愉快~

    2021-01-27 09:51:09
好帮手慕阿园 2020-10-08 14:20:28

同学你好,传入true,表示在一个文件中追加内容。但是在复制整个文件时,可以不需要设置append,使用默认的false即可。

祝学习愉快

问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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