package stream;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.Reader;
import java.io.Writer;

public class J_FileTest6 {
/*
 *   Java字符输入流和输出流 
 * 1、FileWriter
 * 2、FileReader
 * */
	public static void main(String[] args) throws Exception {
		// TODO Auto-generated method stub
		String name="e:"+File.separator+"code";
		File dir=new File(name);
		if(!dir.exists()) {
			dir.mkdirs();
		}
		File file=new File(dir, "test.txt");
		if(!file.exists()) {
			file.createNewFile();
		}
		Writer char_write=new FileWriter(file);
		char_write.write("Hello world!");
		char_write.close();
		Reader char_read=new FileReader(file);
		char cbuf[]=new char[1024];
		char_read.read(cbuf);
		char_read.close();
		System.out.println(new String(cbuf));

	}

}




(1)



public abstract class Reader

extends

Objectimplements

Readable,

Closeable

Reader用于读取字符流的抽象类。子类必须实现的方法只有 read(char[], int, int) 和 close()。但是,多数子类将重写此处定义的一些方法,以提供更高的效率和/或其他功能。 

其子类为:



BufferedReader,

LineNumberReader,

CharArrayReader,

InputStreamReader,

FileReader,

FilterReader,

PushbackReader,

PipedReader,

StringReader,

Writer



在使用时候,我们采用FileReader,Writer char_write=new FileWriter(file);//打开文件字符流,参数为实例化文件对象


构造方法摘要

FileReader(File

          在给定从中读取数据的 File 的情况下创建一个新 FileReader。

FileReader(FileDescriptor

          在给定从中读取数据的 FileDescriptor 的情况下创建一个新 FileReader。

FileReader(String

          在给定从中读取数据的文件名的情况下创建一个新 FileReader。

 其成员方法有:



从类 java.io.InputStreamReader 继承的方法

close, getEncoding, read, read, ready

从类 java.io.Reader 继承的方法

mark, markSupported, read, read, reset, skip

(2)


public abstract class Writer

extends

Objectimplements

Appendable,

Closeable,

Flushable


写入字符流的抽象类。子类必须实现的方法仅有 write(char[], int, int)、flush() 和 close()。但是,多数子类将重写此处定义的一些方法,以提供更高的效率和/或其他功能。 

其子类有:

BufferedWriter, CharArrayWriter, FilterWriter, OutputStreamWriter, FileWriter, PipedWriter, PrintWriter, StringWriter



public class FileWriter

extends

OutputStreamWriter

用来写入字符文件的便捷类。此类的构造方法假定默认字符编码和默认字节缓冲区大小都是可接受的。要自己指定这些值,可以先在 FileOutputStream 上构造一个 OutputStreamWriter。

文件是否可用或是否可以被创建取决于底层平台。特别是某些平台一次只允许一个 FileWriter(或其他文件写入对象)打开文件进行写入。在这种情况下,如果所涉及的文件已经打开,则此类中的构造方法将失败。

FileWriter 用于写入字符流。要写入字节流,请考虑使用 FileOutputStream。  



本次使用:Reader char_read=new FileReader(file);//实例化一文件字符输出流,并接下来通过其成员方法read()完成字符读出。