FileReader即使在工作目录中也找不到文件

问题描述 投票:0回答:1

我正在尝试从文件读取,但是控制台给了我这个错误。

Exception in thread "main" java.io.FileNotFoundException: dataEx.txt (The system cannot find the file specified)

这是我正在执行的代码。

import java.io.*;
import java.util.*;

public class ReadTest {

    public static void main(String[] args) throws IOException {
        BufferedReader f = new BufferedReader(new FileReader("dataEx.txt" ));
    }
}

这是我的项目结构

-project
  -ReadTest.java
  -dataEx.txt
java file filereader filenotfoundexception
1个回答
0
投票

工作目录

您的路径错误,因此读者无法找到该文件。您认为您当前的工作目录应该在哪里,而不是在哪里。

执行以下代码以了解其位置:

System.out.println(Paths.get("").toAbsolutePath());

这是您当前工作目录的路径。然后将该结果与您的期望进行比较。意识到您的期望是错误的,请更正文件或工作目录设置的路径。

很难猜测您的目录现在在哪里。也许在bin文件夹中.class文件旁边。执行上面的代码段后,您将看到。


NIO

顺便说一句,不确定BufferedReader的确切计划,但是您可能对围绕FilesPaths的较新的现代文件API感兴趣:

List<String> lines = Files.readAllLines(Paths.get("myFile.txt"));

[它还具有用于文件IO的其他实用工具,比笨重的File类和笨拙的BufferedReader更好。

© www.soinside.com 2019 - 2024. All rights reserved.