首页 > 代码库 > 【JAVA IO流之字符流】

【JAVA IO流之字符流】

一、概述。

java对数据的操作是通过流的方式。
java用于操作流的对象都在IO包中。
流按照操作数据不同分为两种,字节流和字符流。
流按照流向分为输入流,输出流。

输入输出的“入”和“出”是相当于内存来说的。

字符流:字节流读取文字字节数据后,不直接操作,而是先查指定的编码表,获取对应的文字,再对这个文字进行操作。简单来说就是字节流+码表。

在IO流中,字节流的顶层父类是Writer和Reader。

二、java.io.FileWriter类。

public class FileWriterextends OutputStreamWriter

 

 

Writer

  |--OutputStreamWriter

    |--FileWriter

该类是操作字符文件的流,用于将数据写入到文件中。

1.构造方法。

有两个重要的构造方法:

FileWriter(File file)
          根据给定的 File 对象构造一个 FileWriter 对象。
FileWriter(File file, boolean append)
          根据给定的 File 对象构造一个 FileWriter 对象。

后者相对于前者来说多了一个boolean型的参数,该参数的作用是决定写入文件的方式是追加方式还是覆写方式。

默认的构造方法(前者)构造的FileWriter流对象向文件中写入的时候会默认的将文件的内容清空然后再写入,如果使用后者并将true传入该构造方法,则写入的方式就变成了追加方式。

2.write方法。

该类没有自己的write方法,全部从父类或者超类中继承而来的write方法。

从OutputStreamWriter中继承而来的方法:

voidwrite(char[] cbuf, int off, int len)
          写入字符数组的某一部分。
 voidwrite(int c)
          写入单个字符。
 voidwrite(String str, int off, int len)
          写入字符串的某一部分。

从Writer中继承而来的write方法:

 voidwrite(char[] cbuf)
          写入字符数组。
 voidwrite(String str)
          写入字符串。

3.flush方法。

voidflush()
          刷新该流的缓冲。

该方法是从OutputStreamWriter中继承而来的,作用是将流中的数据数据刷到文件中。文件关闭前会默认调用此方法。

4.close方法。

 voidclose()
          关闭此流,但要先刷新它。

【JAVA IO流之字符流】