当我尝试编译下面的代码时会产生以下错误:
找不到符号
符号:变量飞机文件
错误是由最后一条语句产生的。
为什么声明后找不到RandomAccessFile对象?
谢谢!
public static void main(String[] args)
{
try
{
RandomAccessFile airplanesFile = new RandomAccessFile("airplanesFile.ran", "rw");
}
catch (FileNotFoundException fnfe)
{
fnfe.printStackTrace();
}
airplanesFile.writeUTF("Test");
}
最佳答案
这与变量作用域有关。 airplanesFile
在 try block 的大括号内声明。当编译器命中 try block 的右大括号时,它超出范围。
在 try 语句之前声明 RandomAccessFile airplanesFile = null;
,并更改 RandomAccessFile airplanesFile = new RandomAccessFile("airplanesFile.ran", "rw");
到 airplanesFile = new RandomAccessFile("airplanesFile.ran", "rw");
你的问题应该会消失。
关于java - 声明后编译器无法找到 RandomAccessFile,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5866758/