BufferedReader和BufferedWriter类创建的对象称为缓冲输入流、输出流,二者增强了读写文件的能力。
底层字符输入流首先将数据读入缓存,BufferedReader流再从缓存读取数据;BufferedWriter流将数据写入缓存,底层字符输出流会不断地将缓存中的数据写入到目的地。
package dsm;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.EOFException;
import java.io.IOException;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.util.Scanner;
import java.util.StringTokenizer;
public class FileOperate {
public static void main(String[] args) {
File fr=new File("D:\\javatext\\end.txt");
File fw=new File("D:\\javatext\\end1.txt");
try {
FileWriter out=new FileWriter(fw);
BufferedWriter bw=new BufferedWriter(out);
FileReader in=new FileReader(fr);
BufferedReader br=new BufferedReader(in);
String str=null;
while((str=br.readLine())!=null) {
StringTokenizer fenxi=new StringTokenizer(str);
int count=fenxi.countTokens();
str=str+"句子中单词数量:"+count;
bw.write(str);
bw.newLine();
}
bw.close();
out.close();
in=new FileReader(fw);
br=new BufferedReader(in);
String s=null;
System.out.println(fw.getName()+"内容:");
while((s=br.readLine())!=null) {
System.out.println(s);
}
br.close();
in.close();
}catch(IOException e) {
System.out.print("Error:"+e);
}
}
}