java - 声明后编译器无法找到 RandomAccessFile

标签 java declaration random-access

当我尝试编译下面的代码时会产生以下错误:

找不到符号
符号:变量飞机文件

错误是由最后一条语句产生的。

为什么声明后找不到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/

相关文章:

c++ - 检测 typedef 的等价性

c++ - 如何仅使用C++中的迭代器正确地迭代3D vector ?

java - 从 Haxe 调用 Java 函数

java - 使用 java Deque 来跟踪国际象棋状态

java - 使用 SuperCSV 清理单元格值

c - 使用结构的矩阵

java - 找到多维数组中最大的元素

c - 使用 extern 声明数组时指定其大小有什么不同吗?

c++ - 在恒定时间内从没有严格元素顺序的容器中获取随机元素

c++ - 减去和比较随机访问迭代器 : why and where?