为什么我收到一条错误消息,指出程序找不到我的文本文件



我只是想做一个非常基本的java程序来读取文件。但是我收到错误,它找不到我的文件:Exception in thread "main" java.io.FileNotFoundException: read.txt (The system cannot find the file specified)我检查了一下,我没有拼错文件名,并且该文件已经与程序位于同一文件目录中。 这是代码:

import java.io.*;
import java.util.*;
public class save_files {
public static void main(String[] args) throws FileNotFoundException {
File file = new File("read.txt");
Scanner scanner = new Scanner(file);
String line = scanner.nextLine();
System.out.println(line);
}
}
">

read.txt"是相对于"工作目录"的相对文件路径。请务必指定相对于工作目录的路径。

看到这个答案: Java 如何在新 File(( 中解析相对路径?

我的建议是先尝试文件的绝对路径。如果你的代码工作(它应该(,那么你的问题是相对路径,这也取决于你运行代码的方式。

如果您使用的是 NetBeans 或 Eclipse 之类的东西,则如果您的文件位于项目的根目录中,您的代码将正常工作。如果您的项目名为Foo,您的目录可能如下所示:

Foo
|- build
|- nbproject
|- src
|- test
|- build.xml
|- manifest.mf
|- read.txt

否则,如果您正在执行诸如从命令行运行.jar之类的操作,则"在哪里查找读取.txt"的上下文将取决于您的工作目录。如果路径是文字(您的情况(,它将查找工作目录。

最新更新