00092_字符输出流Writer

Posted Lamfai

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了00092_字符输出流Writer相关的知识,希望对你有一定的参考价值。

1、字符输出流Writer

  (1)既然有专门用于读取字符的流对象,那么肯定也有写的字符流对象;

  (2)查阅API,发现有一个Writer类,Writer是写入字符流的抽象类。其中描述了相应的写的动作。

2、FileWriter类

  (1)查阅FileOutputStream的API,发现FileOutputStream 用于写入诸如图像数据之类的原始字节的流;

  (2)要写入字符流,请考虑使用 FileWriter;

  (3)打开FileWriter的API介绍,用来写入字符文件的便捷类。此类的构造方法假定默认字符编码和默认字节缓冲区大小都是可接受的。

3、FileWriter写入中文到文件中

  写入字符到文件中,先进行流的刷新,再进行流的关闭。

 1 import java.io.FileWriter;
 2 import java.io.IOException;
 3 
 4 public class FileWriterDemo {
 5     public static void main(String[] args) throws IOException {
 6         // 演示FileWriter 用于操作文件的便捷类。
 7         FileWriter fw = new FileWriter("d:\\Java\\fw.txt");
 8         fw.write("人生若只如初见");// 这些文字都要先编码。都写入到了流的缓冲区中。
 9         fw.flush();
10         fw.close();
11     }
12 }

4、flush()和close()的区别

  (1)flush():将流中的缓冲区缓冲的数据刷新到目的地中,刷新后,流还可以继续使用;

  (2)close():关闭资源,但在关闭前会将缓冲区中的数据先刷新到目的地,否则丢失数据,然后在关闭流。流不可以使用;

  (3)如果写入数据多,一定要一边写一边刷新,最后一次可以不刷新,由close完成刷新并关闭。

1.1      字符输出流Writer

以上是关于00092_字符输出流Writer的主要内容,如果未能解决你的问题,请参考以下文章

Java IO_003.Reader与Writer--字符流以及编码对数据的操作(读取与写入)

Java_流

Java_流

Java IO流--Reader流(字符输入流) & Writer流(字符输出流)

我的学习之路_第十一章_字符流

有没有办法在不关闭底层流的情况下关闭 Writer?