各位: 这是我贴这儿时,搞错了的。就算将props.load(in)改为props.load(f)还是一样出现错误啊!再麻烦帮我看看到底毛病出在哪里? 编译时反回的错误如下: Test1.java:16:cannot resolve symbol symbol : variable f location: class Test1 props.load(f) ^ 1 error
你应该把“props.load(f)”这句语句写到第二个try里面,而且是在 FileInputStream f = new FileInputStream("E:\\JBuilder\1.txt"); 的后面。 因为有可能这个FileInputStream f变量不能的到真确的初始化,而使的后面的这个语句不能执行,JAVA对这种情况会做为出错处理!
mygarfield: 你好!我编译成功了!实在是很感谢!但是啊,我还是想不通,为什么非要把“props.load(f)”放到FileInputStream f = new FileInputStream("E:\\JBuilder\1.txt");后面。 就算放到后面FileInputStream f变量还是有可能得不到正确初始化啊,那后面的语句“props.load(f)”还是会出错啊。真的是很想不通JAVA怎么会有这样的规定! 望能给我再次指点!
try { FileInputStream f = new FileInputStream("E:\\JBuilder\1.txt"); } catch(FileNotFoundException e) { System.out.println("无法找到指定文件"); } props.load(f);是不是 load 里面 看不到 f 啊?
这是我贴这儿时,搞错了的。就算将props.load(in)改为props.load(f)还是一样出现错误啊!再麻烦帮我看看到底毛病出在哪里?
编译时反回的错误如下:
Test1.java:16:cannot resolve symbol
symbol : variable f
location: class Test1
props.load(f)
^
1 error
FileInputStream f = new FileInputStream("E:\\JBuilder\1.txt");
的后面。
因为有可能这个FileInputStream f变量不能的到真确的初始化,而使的后面的这个语句不能执行,JAVA对这种情况会做为出错处理!
你好!我编译成功了!实在是很感谢!但是啊,我还是想不通,为什么非要把“props.load(f)”放到FileInputStream f = new FileInputStream("E:\\JBuilder\1.txt");后面。
就算放到后面FileInputStream f变量还是有可能得不到正确初始化啊,那后面的语句“props.load(f)”还是会出错啊。真的是很想不通JAVA怎么会有这样的规定!
望能给我再次指点!
FileInputStream f = new FileInputStream("E:\\JBuilder\1.txt");
}
catch(FileNotFoundException e) {
System.out.println("无法找到指定文件");
}
props.load(f);是不是 load 里面
看不到 f 啊?
前面是从Exception的角度来理解的,这里可能还可以从局部变量的角度来理解吧。就象XKP(XKP)说的,不过个人觉得JAVA这么做主要还是Exception的原因吧。
我想我是想通了。谢谢各位。特别是mygarfield((我被CSDN封杀过)) 的细心指导!!!
嘿嘿……
是不该给点分,奖励一下!
:)