FileReader 找不到文件,即使它在工作目录中
FileReader can not find file even though it is in working directory
我正在尝试从文件中读取,但是控制台给我这个错误。
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
工作目录
您的路径错误,因此reader找不到文件。无论您认为您当前的工作目录应该在哪里,那都不是它所在的地方。
执行下面的代码就知道它在哪里:
System.out.println(Paths.get("").toAbsolutePath());
这是您当前工作目录的路径。然后将该结果与您的预期进行比较。意识到您的期望是错误的并更正文件路径或工作目录设置。
现在很难猜测您的目录可能在哪里。也许在您的 bin
文件夹中,在 .class
文件旁边。执行上面的代码片段后你会看到。
蔚来
顺便说一句,不确定您打算用那个 BufferedReader
做什么,但您可能对围绕 Files
和 [=16] 的较新的现代文件 API 感兴趣=]:
List<String> lines = Files.readAllLines(Paths.get("myFile.txt"));
它还有其他用于文件 IO 的实用方法,比繁琐的 File
class 和笨拙的 BufferedReader
.
好得多
我正在尝试从文件中读取,但是控制台给我这个错误。
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
工作目录
您的路径错误,因此reader找不到文件。无论您认为您当前的工作目录应该在哪里,那都不是它所在的地方。
执行下面的代码就知道它在哪里:
System.out.println(Paths.get("").toAbsolutePath());
这是您当前工作目录的路径。然后将该结果与您的预期进行比较。意识到您的期望是错误的并更正文件路径或工作目录设置。
现在很难猜测您的目录可能在哪里。也许在您的 bin
文件夹中,在 .class
文件旁边。执行上面的代码片段后你会看到。
蔚来
顺便说一句,不确定您打算用那个 BufferedReader
做什么,但您可能对围绕 Files
和 [=16] 的较新的现代文件 API 感兴趣=]:
List<String> lines = Files.readAllLines(Paths.get("myFile.txt"));
它还有其他用于文件 IO 的实用方法,比繁琐的 File
class 和笨拙的 BufferedReader
.