Reader:输入流、继承自Reader的流都是用于向程序中输入数据的,且数据单位都是字符16位
用于读取字符流的抽象类。子类必须实现的方法只有 read(char[], int, int) 和 close()。但是,多数子类将重写此处定义的一些方法,以提供更高的效率和/或其他功能。
File f1=new File("D:/aa.txt");
Reader in=new FileReader(f1);
//使用缓冲区读取多个字符
char[] buffer=new char[10];
int n=in.read(buffer);//次数最多读取buffer数组长个字符,把读取到的字符存入buffer数组中,返回的是实际读取道德字符
System.out.println(n);
System.out.println(Arrays.toString(buffer));
关闭方法:
void close()
字符输出方法:
int n=in.read(buffer);//次数最多读取buffer数组长个字符,把读取到的字符存入buffer数组中,返回的是实际读取道德字符
FileReader 用于读取字符流
BufferedReader 从字符输入流中读取文本,缓冲各个字符,从而实现字符、数组和行的高效读取。可以指定缓冲区的大小,或者可使用默认的大小。大多数情况下,默认值就足够大了。
Writer:输出流、继承自Writer的流都是程序用于向外输出数据的,且数据单位都是字符(16位)
写入字符流的抽象类。子类必须实现的方法仅有 write(char[], int, int)、flush() 和 close()。但是,多数子类将重写此处定义的一些方法,以提供更高的效率和/或其他功能
File f2=new File("D:/b.txt");
if(!f2.exists()){
f2.createNewFile();
}
//定义一个字符输出流,向f2文件写入内容
Writer out=new FileWriter(f2);
out.write(97);
out.write((int)'中');
char[] ch={'南','阳','农','业','职','业'};
out.write(ch,0,2);
out.write("移动2103班");
out.write("abc",0,3);
out.flush();
out.close();
刷新流:
void flush() // 刷新该流的缓冲。
关闭方法:
void close() 关闭此流,但要先刷新它。
字符输出方法:
out.write(97);
out.write((int)'中');
char[] ch={'南','阳','农','业','职','业'};
out.write(ch,0,2);
out.write("移动2103班");
out.write("abc",0,3);
FileWriter 用来写入字符文件的便捷类。此类的构造方法假定默认字符编码和默认字节缓冲区大小都是可接受的。要自己指定这些值,可以先在 FileOutputStream 上构造一个 OutputStreamWriter。