你的bis.read()方法在while条件中执行一次,在if条件中执行一次,不是2次吗?当然把两行读完了。你可以用个变量记录bis.read();的结果,这样就没问题了吧。如下:
FileReader fis=new FileReader("Sha0k.txt");
BufferedReader bis = new BufferedReader(fis);
boolean result=bis.read();
while(result!=-1)
{
num++;//记录文件中字符数
if(result==13)
num2++;//记录文件中行数
result=bis.read();
}
你调用了两遍bis.read()当然不行了。
应该是
int str = 0;
while(str!=-1)
{
num++;//记录文件中字符数
if(str==13)
num2++;//记录文件中行数
}
你这样当然不行啦,呵呵!
char tmp;
while( (tmp=bis.read()) != -1 )
{
num++;
if((int)tmp==13)num2++;
}