往一个文本文件中输入一句话hello io(FileOutPutStream的构造方法及写出数据)

package cnitcast_01;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

/*
 * 
 * 需求:我要往一个文本文件中输入一句话hello io
 *          
 *     分析:
 *        A:这个操作最好是采用字符流来做但是呢。字符流是在字节流之后才出现的,
 * 				所以见天我们先讲解字节流
 *        B:由于我是要往文件中写一句话所以采用字节输出流     
 *        
 *      通过上面的分析然后我们知道使用:OutputStream
 *      但是我们通过查看API,我们发现该流的对象是一个抽象类,不能是实例化
 *      所以我们要找一个具体子类
 *      而我们要找的子类是什么名字?这个时候,很简单,回想一下我们不是要往文件里面些东西
 *      文件的单词是File
 *      然后用的是字节输出流,连起来就是:FileOutputStream
 *      注意:每种基类的子类都是以父亲名作为后缀名
 *           XxxOutputStream
 *           XxxInputStream
 *           XxxReader
 *           XxxWriter
 *           
 *    查看FileOutputStream的构造方法               
 *         FileOutputStream (File file)
 *         FileOutputStream(String name)
 *         
 *         
 *  字节输出流操作步骤;
 *        A:创建字节输出流对象
 *        B:写数据
 *        C;释放资源
 */
public class FileOutPutStream的构造方法及写出数据 {

	public static void main(String[] args) throws IOException {
		
		//FileOutputStream (File file)
		//第一种构造
//		File file = new File("file.txt");
//		FileOutputStream fos = new FileOutputStream(file);
		
		// FileOutputStream(String name)
		FileOutputStream fos = new FileOutputStream("fos.txt");
		
		/*
		 * 创建字节输出流对象做了几件事
		 * 1.调用系统功能去创建文件
		 * 2.创建fos对象
		 * 3.把fos对象指向这个文件
		 */
		
		//写数据
		//先把字符数组转成字节数组
		fos.write("hello.io".getBytes());
		
		//释放资源
		//关闭此文件输出流并释放于此流有关的所以系统资源
		fos.close();
		/*
		 * 
		 * 为什么一定要close呢
		 * A: 让流对象成垃圾,这样就可以被垃圾回收器回收
		 * B;通知系统去释放跟此文件相关的资源//因为文件创建的时候是通知系统创建的
		 * 所以最好要close释放空间
		 */
		//java.io.IOException:Stream Closed
		fos.write("java".getBytes());
	}
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Unknown To Known

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值