3

我只是在用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 位于同一个包、同一个文件夹和所有内容中。我很困惑 :(

4

5 回答 5

4

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

于 2012-04-08T23:24:35.243 回答
1

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

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

另外,main()像这样声明方法:

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

通常你会想要捕获并处理异常,但现在只是抛出它。

于 2012-04-08T23:22:43.053 回答
1

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

您可以通过以下方法获取工作目录:

File f = new File(".");
System.out.println(f.getAbsolutePath());
于 2012-04-08T23:22:48.310 回答
1

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

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

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

您可以在此处了解有关异常处理的更多信息

干杯

于 2012-04-08T23:34:43.647 回答
0

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

于 2012-04-08T23:25:14.740 回答