package com.yyq;
/*
* 字符流和字节流。
* 字节流的两个基类: InputStream OutPutSteam
* 字符流的两个基类:Reader 和writer
* 先学习字符流的特点
* 既然IO流是用于操作数据的,
* 那么数据的最常见形式是:文件。
* 以操作文件为主来演示,
* 需求: 在硬盘上,创建一个文件并写入一些数据
* 找到一个专门用于操作文件的对象FileWriter
* 后缀名:(父类名)前缀名:该流的功能
* FileWriter 流不存在空的构造函数:原因(因为要操作文件,所以文件必须存在)
*/
import java.io.*;
public class FileWriterDemo {
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
//1.创建一个FileWriter 对象,该对象一被初始化,就必须要明确要操作的文件
//2. (1)而且该文件会被创建到指定的目录下(2)如果该目录下已有同名文件
//则将被覆盖。其实该步就是要写的位置。
FileWriter fw = new FileWriter("a.txt");
// 写到了内存中,写入到了流当中去了
fw.write("aaa");
//需要把流的缓冲刷到目的文件中去,将缓冲区中的数据重刷到目的文件中
fw.flush();
// 流一直存在,只要不关闭就一直存在。
fw.write("haha".toCharArray());
fw.flush();
// 关闭流资源,但是关闭之前会刷新一次内部的缓冲中的数据
//将数据刷到目的地中
//和flush的区别,flush刷新后,流可以继续使用close刷新后,会将流关闭
//java能往windows中写入数据,java在调用系统内部的方式,完成数据的书写,
//这种方式在使用windows的资源,所以要close
fw.close();
/*fw.write(5);
fw.flush();*/
}
}