[英]java.io.FileNotFoundException in eclipse
import java.io.*;
import java.util.Scanner;
public class Driver {
private int colorStrength;
private String color;
public static void main(String[] args) throws IOException {
String line, file = "strength.txt";
File openFile = new File(file);
Scanner inFile = new Scanner(openFile);
while (inFile.hasNext()) {
line = inFile.nextLine();
System.out.println(line);
}
inFile.close();
}
}
这是我为类编写的程序的一小部分(我知道尚未使用两个私有属性)但是当我尝试使用 strength.txt 文件运行它时,我收到以下错误:
Exception in thread "main" java.io.FileNotFoundException: strength.txt (The system cannot find the file specified)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(Unknown Source)
at java.util.Scanner.<init>(Unknown Source)
at Driver.main(Driver.java:14)
如果有 Eclipse 的人能帮我解决这个问题,我将不胜感激!
您使用了相对于您的项目执行的相对文件路径。
如果您想这样做,只需将strength.txt
文件放在项目的基本目录中。 像这样:
或者,您可以引用系统上的absolute
文件路径。 例如,使用:
视窗:
C:/dev/myproject/strength.txt
Mac/Unix:
/Users/username/dev/strength.txt
(或任何可能的完整路径)。
做这个
System.out.println(openFile.getAbsolutePath());
它会告诉你 JVM 期望在哪里找到文件,以及它是否也是你期望的文件夹,相应地放置文件或给出确切的位置
使用它来查看系统用于到达相对路径的文件路径
System.out.print(System.getProperty("user.dir"));
然后确保相对路径紧跟此路径。
你也可以把它变成一个字符串
String filePath = System.getProperty("user.dir");
然后你可以像这样将它添加到文件路径的开头,
ImageIcon imageIconRefVar = new ImageIcon(filePath + "/imagepathname");
当我在路径中使用它时,我发现这为我解决了这个问题(这看起来很奇怪,因为它应该是它所在的位置,但它有效)
您使用了相对于您的项目执行的相对文件路径。
如果这对您有用,您可以通过以下方式将执行目录从项目根目录更改为二进制目录:
$(workspace_loc:proj-1)
。我需要这个而不是在我做作业时简单地将文件放在项目根目录中,而教授需要特定的文件层次结构; 此外,这比绝对路径更便携。
在基本目录中创建一个文件夹,将其命名为“res”。 将您的文件放在“res”文件夹中。
使用String file = ".\\\\res\\\\strength.txt";
以引用文件的位置。
您应该使用资源文件夹来存储您在程序中使用的所有文件(一种很好的做法)。
并从您的根目录引用该文件。 所以该文件存在于包中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.