try{
         int b = fin.read();
         }你的b是定义在try块里面,所以它的作用域也只在
try{
}
中,在两个大括号之外就不可见了。