<% 
try { 
FileReader fr=new FileReader(request.getRealPath("/")+"\\counter.txt"); 
BufferedReader br=new BufferedReader(fr); 
String countno = br.readLine(); 
if (countno == null) { 
FileWriter fw=new FileWriter(request.getRealPath("/")+"\\counter.txt"); 
PrintWriter pw=new PrintWriter(fw); 
pw.print("1"); 
pw.close(); 
fw.close(); 

else{ 
out.println("本页面是第"+countno+"次被访问!!"); 
FileWriter fw=new FileWriter(request.getRealPath("/")+"\\counter.txt"); 
PrintWriter pw=new PrintWriter(fw); 
pw.print(String.valueOf(Integer.parseInt(countno)+1)); 
pw.close(); 
fw.close(); 
}} 
catch(Exception e){ 
 FileWriter fw=new FileWriter(request.getRealPath("/")+"\\counter.txt"); 
 PrintWriter pw=new PrintWriter(fw); 
pw.print("1"); 
out.println("本页面是第"+1+"次被访问!!"); 
pw.close(); 
fw.close(); 

%> 
为什么代码中的PrintWriter()不能用BufferedWriter()代替呢?
他们之间有什么区别?