主要用来操作文本文件
其中的构造方法和方法和字节流输入流FileInputStream非常类似,差别就是单位是char
int read()
调用一次读到一个数据字节,返回的int值就是读到的数据
如果已到达文件末尾,则返回 -1
FileReader reader = new FileReader("1.txt"); int n; while((n=reader.read())!=-1){ System.out.print((char)n); }int read(char[] b)
调用一次本方法表示可以读取多个数据
读到的内容保存传入的char数组b中
返回的是本次调用方法读到的数据字节个数
FileReader reader = new FileReader("1.txt"); char[] a=new char[5]; int n; while((n=reader.read(a))!=-1){ System.out.print(new String(a,0,n)); }write方法只会将数据写入到缓存区,而flush和close都会将缓存区的数据写入到文件中,但是flush方法只是刷新并没有关闭流资源,后面依然可以继续写入数据,而close是关闭流资源,所以后面不能继续写入数据了
append--一个 boolean 值,如果为 true,则将数据写入文件末尾处,而不是写入文件开始处。
FileWriter(File file) 根据给定的 File 对象构造一个 FileWriter 对象。FileWriter(File file, boolean append) 根据给定的 File 对象构造一个 FileWriter 对象。FileWriter(String fileName) 根据给定的文件名构造一个 FileWriter 对象。FileWriter(String fileName, boolean append) 根据给定的文件名以及指示是否附加写入数据的 boolean 值来构造 FileWriter 对象。特有的方法: 可以直接写字符串,其余与字节流差不多
void write(String str)
写入字符串。
void write(String str, int off, int len)
写入字符串的一部分
FileWriter writer = new FileWriter("1.txt"); writer.write("撒大苏打"); writer.flush();void write(char[] a)
调用一次,可以把一个char数组中的数据写入
char[] f={'阿','是','实'}; writer.write(f); writer.close();