javaIO 除了操作字节,还可以操作字符,从使用情况来看,字符流的使用比例较高些。
Writer类是一个抽象类,它同时实现了Appendable, Closeable, Flushable接口。用于字符流的写操作。它支持缓冲流,缓冲流的大小看下面的代码。直接的子类是OutputStreamWriter,FileWriter继承了OutputStreamWriter。
/**
* Size of writeBuffer, must be >= 1
*/
private final int writeBufferSize = 1024;
先看FileWriter类,它继承了OutputStreamWriter,而OutputStreamWriter继承了Writer。
FileWriter的构造方法,根据文件路径构造,或者根据File构造。它们都支持一个boolean类型的参数表示在原文件基础上追加或者覆盖,当参数值为true的时候表示追加。在方法的内部,实际是调用了它父类的构造方法。具体些操作也是继承父类的方法。看下它的源码
package java.io;
/**
* @see OutputStreamWriter
* @see FileOutputStream
*
* @author Mark Reinhold
* @since JDK1.1
*/
public class FileWriter extends OutputStreamWriter {
/**
* Constructs a FileWriter object given a f