1:有三种参数类型(具体自己去查api文档)
2:因为read()方法是读取一个字符,即一个byte,返回的是一个int型数字,当你输入5,在ascii中,5的ascii码就是53,如果你输入6,你会发现输出是54,因为你是将int转化成long,如果转化成char就不会出现这种问题了。
3:readByte()方法当读到文件末尾时,会产成EOFException,即文件结束。所以把你的代码try起来
try
{
}
catch(EOFException e)
{
   System.out.println("文件读取结束");
}
就可以了。