因为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));
}
本文介绍了在try-catch-finally块中如何正确管理和使用变量,特别是在finally块中操作如关闭流等任务时的方法。通过将try块内的局部变量声明为全局变量,并在try块内重新赋值的方式,解决了变量作用域限制的问题。

被折叠的 条评论
为什么被折叠?



