gpt4 book ai didi

java - 在同一文件夹中找不到文件 Java

转载 作者:搜寻专家 更新时间:2023-11-01 02:24:24 24 4
gpt4 key购买 nike

我正在尝试用 Java 读取文件。我编写了一个程序并将文件保存在与我的程序完全相同的文件夹中。然而,我不断收到 FileNotFoundException。这是代码:

public static void main(String[] args) throws IOException {

Hashtable<String, Integer> ht = new Hashtable<String, Integer>();
File f = new File("file.txt");
ArrayList<String> al = readFile(f, ht);
}

public static ArrayList<String> readFile(File f, Hashtable<String, Integer> ht) throws IOException{
ArrayList<String> al = new ArrayList<String>();
BufferedReader br = new BufferedReader(new FileReader(f));
String line = "";
int ctr = 0;

}
...
return al;
}

这是堆栈跟踪:

Exception in thread "main" java.io.FileNotFoundException: file.txt (The system cannot find the file specified)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(Unknown Source)
at java.io.FileReader.<init>(Unknown Source)
at csfhomework3.ScramAssembler.readFile(ScramAssembler.java:26)
at csfhomework3.ScramAssembler.main(ScramAssembler.java:17)

我不明白如果文件与程序位于完全相同的文件夹中,为什么找不到该文件。我在 eclipse 中运行该程序,我检查了我的运行配置是否有任何杂散参数,但没有。有没有人看出哪里出了问题?

最佳答案

因为 File 不在您认为的位置。打印您的程序尝试读取的路径。

File f = new File("file.txt");
try {
System.out.println(f.getCanonicalPath());
} catch (IOException e) {
e.printStackTrace();
}

根据 File.getCanonicalPath() javadoc,规范路径名既是绝对的又是唯一的。规范形式的精确定义取决于系统。

关于java - 在同一文件夹中找不到文件 Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28687148/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com