3-8 FileOutputStream

3-8 FileOutputStream

public class FileOutputDemo {

	public static void main(String[] args) {
		FileOutputStream fos;
		FileInputStream fis;
		
		try {
			fos=new FileOutputStream("imooc.txt",true);
			fis= new FileInputStream("imooc.txt");
			fos.write(50);
			fos.write('a');
			System.out.println(fis.read());
			System.out.println((char)fis.read());
			fos.close();
			fis.close();
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}catch(IOException e) {
			e.printStackTrace();
		}

	}

}

fis.read()不是表示读取吗?

我不太明白后面加个“true”,结果就是两个2a?


正在回答

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

1回答

        同学你好,在FileOutputStream的参数中,添加一个true,表示在文件中追加内容,在课程中,当第二次运行时,又有一个50和a要写入文件中,因为现在是追加,后写入的数据不覆盖之前原有的数据,所以在原来2a的基础上,又加上了一个2a,就出现了两个2a哦!

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

  • 慕移动ttong 提问者 #1
    老师的意思,是不是fos.write(50); fos.write('a');被运行了两次? 那如果我在运行一次是不是就有3个2a了? 还是追加只能追加一次?
    2019-07-16 13:39:41
  • 好帮手慕小班 回复 提问者 慕移动ttong #2
    同学的说法是正确的哦,在课程中是运行了两次,所以是两个2a,如果再运行一次,在文件中就是3个2a了哦!因为是追加,文件中的内容就会在原来的基础是继续向后添加哦! 如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~
    2019-07-16 14:09:18
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

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