查过API的
BufferedReader:从字符输入流中读取文本并将字符存入缓冲区以便能提供字符、数组和线段的高效读取。
FileReader:读取字符文件的方便类
好像没有什么区别呀,都是读取文件的呀
为什么下面:<html>
<head>
<title>文字模式访问计数器</title>
</head>
<body bgcolor="#ffffff">
<%@page import="java.io.*"%>
<%
BufferedReader file;         //定义BufferedReader类
String countFile="count.txt";
file=new BufferedReader(new FileReader(countFile));    //这个参数为什么是new FileReader(countFile)?看不懂什么意思.把这句话直接换成FileReader aaa=new FileReader(countFile)这样然后把BufferedReader file;去掉不行吗?    大侠们给指点迷津吧
String readStr=null;
int writeStr=1;
try
{
readStr=file.readLine();
}
catch(IOException e)
{
System.out.println("读取数据错误.");
}
if(readStr==null)
readStr="没有任何记录";
else
{
writeStr=Integer.parseInt(readStr)+1;
}
try
{
PrintWriter pw;
pw=new PrintWriter(new FileOutputStream(countFile));
pw.println(writeStr);
pw.close();
}
catch(IOException e)
{
out.println(e.getMessage());
}
%>
<a align="center">
<h1>文字模式访问计数器:</h1>
<h3>你是本网页的第
<font color="ff0000" size=7>
<%=readStr%>
</font>名访客!</h3>
</body>
</html>

解决方案 »

  1.   

    忘了二句:if(readStr==null)
    readStr="没有任何记录";
    else
    {
    writeStr=Integer.parseInt(readStr)+1;  //这个方法不是 将字符串参数作为带符号十进制整数来分析的吗?如果是readStr="没有任何记录";那此处的这个writeStr的结果是多少呢
    }try
    {
    PrintWriter pw;
    pw=new PrintWriter(new FileOutputStream(countFile));  //还有这句
    pw.println(writeStr);
    pw.close();
    }
      

  2.   

    BufferedReader可以在任意的reader上面加入缓冲的功能.
      

  3.   

    FileReader 没有readLine();
    要用readLine();
    只能BufferedReader
      

  4.   

    FileRead类提供的是直接从底层读取字符.
    BufferedReader类提供了每次读取一行字符,但程序从BufferedReader读取时,文本从缓冲区得到,而不是直接从底层输入流得到
      

  5.   

    就是说把FILEREADER对象添加到缓冲吗?然后用BUFFER这个类的方法从缓冲中提取是吗?如果不是请帮忙再解释一下
    谢谢还有二楼的二个问题