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());
}
}
往一个文本文件中输入一句话hello io(FileOutPutStream的构造方法及写出数据)
最新推荐文章于 2024-09-12 21:04:39 发布