使用字节流不能直接读写中文,需要借助字符串的getBytes()方法将中文转化为字节数组。
输入字符流:
---------------------Reader 输入字符流的基类 抽象类
--------------------------------FileReader读取文件的输入字符流 用法:1.找到目标文件 2.建立数据的输入通道 3.读取数据 4.关闭资源
----------------------Writer 输出字符流的基类 抽象类
--------------------------------FileWriter 向文件输入数据 用法:1.找到目标文件 2.建立数据的输入通道 3.读取数据 4.关闭资源
FileWriter使用注意事项:
1.使用 FileWriter写数据的时候, FileWriter内部是维护了一个1024个字符数据的,写数据的时候,会先写到它内部维护的数据中去,如果需要把数据写到硬盘上去,需要调用到flush()方法或者close()方法或者是填满字符数组。
2. 当创建FileWriter对象时,如果目标文件不存在,会自动创建目标文件。
3 当创建FileWriter对象时,如果目标文件已经存在,且文件中有内容,若再向文件中添加内容的时候,会先清空文件内容,再向文件添加其他内容。若想向文件中追加内容,则可以使用new FileWriter(File file,append)的构造方法,若第二个参数为true,表示向目标文件末尾追加想要添加的内容。
何时使用字节流,何时使用字符流:
字节流应用场景:如果都写的数据不需要转化为字符的时候,使用字节流。
字符流应用场景:如果是读写字符数据的时候则使用字符流。