Java:无法解析文件

Java:无法解析文件,java,Java,以下代码返回以下错误消息: package demo3; import java.io.File; import java.io.FileNotFoundException; import java.io.FileReader; public class App { public static void main(String[] args) { try { openFile(); } catch (FileNotFoundEx

以下代码返回以下错误消息:

package demo3;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;

public class App {
    public static void main(String[] args) {
        try {
            openFile();
        } catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            System.out.println("File not found: " + file.toString());
    }
}

public static void openFile() throws FileNotFoundException {
    File file = new File("test.txt");

    FileReader fr = new FileReader(file);
}

}
错误:

Exception in thread "main" java.lang.Error: Unresolved compilation problem: 
file cannot be resolved

at demo3.App.main(App.java:13)

我不确定这是因为该文件与try-catch循环位于不同的类中,还是因为其他原因。任何帮助都将不胜感激。谢谢

不要在main方法中处理FileNotFound异常,而是在
openFile()方法中处理它

现在,您正试图访问尚未定义变量的
文件
方法。
file
变量仅在
openFile()
方法中定义

您还可以在main方法上方定义它。如果这样做,那么类中的每个方法都可以访问它


任何一种解决方案都能解决你的问题。选择最适合您需要的方法。

文件仅在您声明它的方法中可用。“这是因为文件位于不同的类”不同的方法,但这是问题所在。
file.toString()
无法解析为类型,因为它没有在您试图使用的类或方法的上下文中声明,所以实际上不清楚您在问什么。谢谢您的帮助。有没有一种方法可以在两种方法中定义file变量?是的,您可以在main方法之上定义它。如果这样做,那么类中的每个方法都可以访问它。