字符输入流 FileReader的常用构造包括以下几种。 FileReader(String fileName):根据文件名创建FileReader对象。 FileReader(File file):根据File对象创建FileReader对象。 FileReader的常用方法包括以下几种。 int read():读取单个字符。返回字符的整数值,如果已经到达文件尾,则返回-1. int read(char[] cbuf):将字符读入cbuf字符数组。返回读取到的字符数,如果已经到达文件尾,则返回-1. int read(char[] cbuf,int off,int len):将读取到的字符存放到cbuf字符数组从off标识的偏移位置开始处,最多读取len个字符。 与字节流不同,BufferReader是Reader的直接子类,这一点和BufferInputStream是InputStream的二级子类有所不同。通过BufferReader.readLine()方法可以实现读取文本行、返回字符串,因为我们平时读取的文本文件大多是断行的,而且该方法能直接返回字符串,因此BufferReader使用得比FileReader更为广泛。 BufferReader用有以下两种构造方法。 BufferReader(Reader in):根据in代表的Reader对象创建BufferReader实例,缓冲区大小采用默认值。 BufferReader(Reader in,int sz):根据in代表的Reader对象创建BufferReader实例,缓冲区大小采用指定sz值。 BufferReader.readLine()方法遇到以下字符或者字符串认为当前行结束:‘\n’(换行符),'\r'(回车符),'\r\n'(回车换行)。返回值为该行内容的字符串,不包含任何行终止符,如果已到达流末尾,则返回null。
字符输出流FileWriter的常用构造有以下几种。 FileWriter(String fileName):根据文件名创建FileWriter对象。 FileWriter(String fileName,boolean append):根据文件名创建FileWriter对象,append参数用来指定是否在原文件之后追加内容。 FileWriter(File file):根据File对象创建FileWriter对象。 FileWriter(File file,boolean append):根据File对象创建FileWriter对象,append参数用来指定是否在原文件之后追加内容。 FileWriter的常用方法包括以下几种。 void writer(int c):向文件中写入正整数c代表的单个字符。 void writer(char[] cbuf):向文件中写入字符数组cbuf。 void writer(char[] cbuf,int off, in len):向文件中写入字符数组cbuf从偏移位置off开始的len个字符。 void writer(String str):向文件中写入字符串str,注意此方法不会在写入完毕之后自动换行。 void writer(String str,int off,int len):向文件中写入字符串str的从位置off开始、长度为len的一部分子串。 Writer append(char c):向文件中追加单个字符c。 Writer append(CharSequence csq):向文件中追加csq代表的一个字符序列。CharSequence是从JDK1.4版本开始引入的一个接口,代表字符值的一个可读序列,此接口对许多不同种类的字符序列提供统一的只读访问。 Writer append(CharSequence csq,int start,int end):向文件中追加csq字符序列的从位置start开始、end结束的一部分字符。 void flush():刷新字符输出流缓冲区。 void close():关闭字符输出流。 和BufferReader相对应,启用缓冲区的BufferWriter也拥有一下两种形式的构造方法。 BufferWriter(Writer out): 根据out代表的Writer对象创建BufferWriter实例,缓冲区大小采用默认值。 BufferWriter(Writer out,int sz):根据out代表的Writer对象创建BufferWriter实例,缓冲区大小采用指定的sz值。 我们知道,BufferReader类的readLine()方法能一次从输入流中读入一行,但对于BufferWriter类,却没有一次写一行的方法。若要向输出流中一次写一行,可用PrintWriter类(PrintWriter也是Writer的直接子类)将原来的流改造成新的打印流,PrintWriter类有一个方法println(String),能一次输出一行,即在待输出的字符串后自动补“\r\n”.
|