Java IO 之 FileWriter, FileReader

import java.io.IOException;
import java.io.File;
import java.io.FileWriter;
import java.io.FileReader;

/**
 * @Lin 2018.5.8   FileWriter & FileReader
 * 1. 先用 FileWriter 将数据写入文件(可以自动创建文件)
 * 2. 使用 FileReader 读取文件数据
 */
public class FileWriter_ReaderTest {
    public static void main(String[] args) throws IOException {
        /*   step 1  */
        FileWriter fw = new FileWriter(new File("./file/File_W_R.txt"), true);
        fw.write("你好,FileWriter");
        fw.append("\n你好,FileReader");   // append方法的源码只是比write方法对了 参数.toString()的调用,主要用在char类型
        fw.flush();  // 刷新缓冲区,默认大小为8K
        fw.close();

        /*  step 2  */
        FileReader fr = new FileReader(new File("./file/File_W_R.txt"));
        char[] c = new char[100];
        fr.read(c);
        String str = new String(c, 0, c.length);
        System.out.println(str);
        fr.close();
    }
}       
Console输出为:
你好,FileWriter
你好,FileReader 

1. 创建FileWriter对象时添加参数 append=true是为了不覆盖原文件数据,不加默认为false,再写入时等价于先清楚文件数据。

2. FileWriter 对象的append方法只是多了 参数csq.toString();

/**  JDK 源码  **/
public Writer append(CharSequence csq) throws IOException {
        if (csq == null)
            write("null");
        else
            write(csq.toString());
        return this;
}
3. FileReader是从文件输入,其中对象的read方法的参数就是被输入的字符变量或者数组。


猜你喜欢

转载自blog.csdn.net/chenbetter1996/article/details/80242235