无法找到输入文件

时间:2012-04-08 23:20:39

标签: java

我只是在乱读用java阅读输入文件,直到我被困在最基本的步骤...找到输入文件!

input.txt文件和我调用它的类文件在同一个目录中,但eclipse仍然给我一个无法找到的错误:

“线程中的异常”主“java.lang.Error:未解决的编译问题: 未处理的异常类型FileNotFoundException“

我的代码:

package pa;
import java.util.Scanner; 

public class Project {
 public static void main(String[] args) {
    java.io.File file = new java.io.File("input.txt");
    System.out.println(file.getAbsolutePath());
    Scanner input = new Scanner(file);
 }
}

input.txt在同一个包中,同一个文件夹和所有内容。我很困惑:(

5 个答案:

答案 0 :(得分:4)

我不知道eclipse,但在netbeans中,路径不是从您的类所在的包(文件夹)开始,而是从项目的根文件夹开始。要在netbeans中找到该文件,您必须放置new File("src/pa/input.txt")

答案 1 :(得分:1)

尝试使用文件的绝对路径,例如:

java.io.File file = new java.io.File("C:\\My Documents\\User\\input.txt");

另外,声明main()方法如下:

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

通常你想要捕捉和处理异常,但现在就扔掉它。

答案 2 :(得分:1)

使用eclipse时,工作目录是项目目录,而不是类的目录。

您可以使用以下方法获取工作目录:

File f = new File(".");
System.out.println(f.getAbsolutePath());

答案 3 :(得分:1)

错误“未处理的异常类型FileNotFoundException”可以通过main()方法中的异常处理来解决。在代码中添加以下命令。

public static void main(String[] args) throws FileNotFoundException

运行程序,你应该得到input.txt文件位置。

您可以详细了解异常处理here.

干杯

答案 4 :(得分:0)

查看生成类文件的文件夹。如果input.txt文件不在该文件夹中,则将其放在那里并尝试再次运行代码。