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();*/ } }