为什么我想写入10000个50,文件里什么都没有

为什么我想写入10000个50,文件里什么都没有

正在回答

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

2回答

下面循环还没有执行写入操作时,fis1.read(b1)就返回-1退出循环了。

while (fis1.read(b1) != -1) {
    fos1.write(50);
    fis1.read();
}

可以修改成:

for (int i = 0; i < 100000; i++) {
    fos1.write(50);
    fis1.read();
}


  • LexieMIZUKI 提问者 #1
    那可以改成这样吗? while ((int n = fis1.read(b1) )!= -1) { fos1.write(50); fis1.read(n); }
    2019-03-11 10:57:07
  • irista23 回复 提问者 LexieMIZUKI #2
    while是先执行条件,所以开始读的fis1是空的,返回-1直接跳出循环了
    2019-03-11 15:41:52
  • LexieMIZUKI 提问者 回复 irista23 #3
    哦哦,谢谢啦
    2019-03-11 15:42:30
提问者 LexieMIZUKI 2019-03-11 10:24:25

我这样写错在哪里呢?为什么不可以这样写呢?

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

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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