java - 即使文件位于工作目录中,也无法读取 java 中的文件

标签 java compiler-errors filenotfoundexception

我试图从 java 中的 .txt 文件中读取数据,但我不断收到 java.io.FileNotFoundException。这是我的简单代码行。

public class Main {

private static Scanner s = new Scanner(new File("walking2.txt"));
}

这是我的项目的样子: enter image description here

最佳答案

这个:

 new Scanner(new File("walking2.txt"));

抛出一个FileNotFoundException,所以当你按照你的方式声明它时,你的异常应该消失在哪里?

相反,您必须在方法内或静态 block 中声明它。例如:

private static Scanner s;
void methodName(){
    try {
        s = new Scanner(new File("walking2.txt"));
        //..your code
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    }
}

使用 Try-with-resources 更匹配确保您正确操作后文件已关闭。

    try (Scanner s = new Scanner(new File("walking2.txt"))) {
        //..your code
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    }

关于java - 即使文件位于工作目录中,也无法读取 java 中的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50955474/

相关文章:

java - jar 未加载。请参阅 Servlet 规范 2.3,第 9.7.2 节。违规类 : javax/servlet/Servlet. 类

web-services - 我收到错误 “Server Application Unavailable”

c - 链接器选项的顺序在 .map 文件中是否有所不同?

java - 读取 .xml 文件进行解析时出现 FileNotFoundException

java - Windows和Linux之间的路径结构不同,导致JPackage存在问题

java - JAXB - @XMLTransient 字段在返回到 UI 时消失

java - 过滤流的日志记录大小

c++-cli - 使用 Predicate 和 Array::FindAll() 编译 C++/CLI 委托(delegate)调用时出错

java - FileNotFoundException,但是文件存在于同一级别

Java 小程序无法在 Safari 7 (Mac OS X 10.9) 下打开文件