那就是Java变量作用域的问题了。Java基本上{}算一个作用域,你把in定义在try里面那么这个in只在这个try里面有效。放在外面的话,就相当于全局变量的意思了
一个程序块定义了一个作用域
你在try{}中定义的FileInputStream只存在t当前try块中,所以在第二个try中他未定义,所以报错
作用域问题。in 这个变量是在第一个try catch里定义,它的作用域只在try 包围的块内。在别处就无法识别,因此会提示 in cannot be resolved (in变量无法解析)。