因为try{}和catch(){}中的变量都是局部变量,在try{}和catch(){}外部是无法直接使用的。
比如在finally{}中关闭流时就无法直接使用try{}中的变量。
解决办法:
把try{}中的变量拿出来,定义为全局变量,根据数据类型赋值为null或0,然后在try{}中直接给该变量重新赋值即可。
代码示例:
public class ReadFile03 {
public static void main(String[] args) {
FileInputStream fis = null;
try {
fis = new FileInputStream("F:\\test01.txt");
byte[] bytes = new byte[4];
int readCount = 0;
while((readCount = fis.read(bytes)) != -1){
System.out.println(new String(bytes,0,readCount));
}