使用java io流的时候,编译提示找不到符号

使用java io流的时候,编译提示找不到符号

问题描述:

图片说明
图片说明

刚开始学习java的新人,看完io流那一块儿的东西,试着敲了一段代码巩固一下,发现上面的代码编译时会报错,而只要去掉红框内finally那一段代码,就能正常编译且执行。 请问这是什么原因呢?

变量的作用域,第7、8行的fis和fos的变量声明,其作用域只作用在第6到24行的try模块中,所以第30到33行的try模块无法使用在7、8行声明的变量。像楼上说的,把变量在try外面声明就行了

定义fis,fos放到try外面
FileInputStream fis = null;
FileOutputStream fos = null;
try {
......