首页 > 代码库 > JAVA之IO技术-字符流对象Writer的子类对象FileWriter的使用

JAVA之IO技术-字符流对象Writer的子类对象FileWriter的使用

 
package ioTest.io1;

import java.io.File;
import java.io.FileWriter;

/*
 * IO技术,按照操作数据的方式分类如下:
 * 字节流和字符流
 * 字节流的两个基类:
 * InputStream,OutputStream
 * 字节流的两个基类:
 * Reader,Writer
 * 思考一个问题:为什么有了字节流还要出现字符流?
 * 
 * 先学习字符流的特点。
 * 
 * 既然IO是操作数据的,那么数据最常见的体现形式 文件
 * 需求:
 * 在硬盘上,创建一个文件并写入一些数据。
 * 找到一个专门用于操作文件的Writer子类对象。后缀名是父类名,前缀名是该流对象的功能。
 * 
 * 
 */
public class FileWriterDemo {

	public static void main(String[] args) throws Exception {
		//创建一个文件
		File file= new File("ioTest1.txt");
		FileWriter out=new FileWriter(file);//目的地
		//创建文件的另一种方式:在指定目录下创建该文件,如果指定目录下已经存在此文件
		//则新创建的文件覆盖原文件。
		FileWriter fWriter=new FileWriter("ioTest2.txt");//目的地
		//写入 一些数据
		out.write("已经创建了一个文件并写入了一些数据!");
		fWriter.write("已经创建了一个文件并写入了一些数据!");
		//仅仅通过以上两部,发现文件已经创建了,但是文件中没有内容。
		//原因:数据实质上是写到流里面去了,需要flush一下。
		out.flush();
		fWriter.flush();//刷新流中的缓冲去,将数据刷到目的地
		fWriter.write("继续写哦");
		fWriter.flush();//仍然要刷新
		//以上四句代码说明flush过后,流没有关闭。
		out.close();
		fWriter.close();//close()方法是关闭流,关闭之前也会做一次刷新,但是不能再继续写了。流已经不存在了。
	}

}