InputStream、OutputStream操作的是字节。 (字节可以根据编码表转成字符)
Writer、Reader只能操作字符、文本。
Demo.java:
package cn.xxx.demo; import java.io.FileWriter; import java.io.IOException; /* * 字符输出流 * java.io.Writer 所有字符输出流的超类 * 写文件,写文本文件 * * 写的方法 write * write(int c) 写1个字符 * write(char[] c)写字符数组 * write(char[] c,int,int)字符数组一部分,开始索引,写几个 * write(String s) 写入字符串 * * Writer类的直接 已知子类 FileWriter * * 字符输出流写数据的时候,必须要刷新 * flush() */ public class Demo { public static void main(String[] args) throws IOException{ FileWriter fw = new FileWriter("c:\\1.txt"); // 创建字符输出流对象。 构造函数可以传字符串也可以传File对象。 //写1个字符 fw.write(100); fw.flush(); // 刷新,从内存刷入磁盘。 //写多个字符 (字符数组) char[] c = {'a','b','c','d','e'}; fw.write(c); fw.flush(); //写字符数组的一部分 fw.write(c, 2, 2); // 索引 长度 fw.flush(); //写入字符串 fw.write("hello"); fw.flush(); fw.close(); } }