高手帮忙看下区别在哪里?

来源:百度知道 编辑:UC知道 时间:2024/09/22 23:27:22
try
{
in=new FileInputStream(file);
while((b=in.read())!=-1)
{
System.out.write(b);
}
}
catch(Exception e)
{
e.printStackTrace();
}

try
{
in=new FileInputStream(file);
while(in.read()!=-1)
{
b=in.read();
System.out.write(b);
}
}
catch(Exception e)
{
e.printStackTrace();
}

这两个输出结果不一样的,第一种会得到想要的,不知道第二种方法(可以输出,担不是想要的结果)错在哪里

try
{
in=new FileInputStream(file);
while((b=in.read())!=-1)
{
//b这里在while判断时执行一次
System.out.write(b);
}
}
catch(Exception e)
{
e.printStackTrace();
}

try
{
in=new FileInputStream(file);
while(in.read()!=-1)
{
//in.read()这里在while判断时执行一次指针在这里就已经改变了
//然后又再下面b=in.read()执行一次结果当然不对啦
b=in.read();
System.out.write(b);
}
}
catch(Exception e)
{
e.printStackTrace();
}

第六行