【问题标题】:File not found error in java, file is in my project folder?java中找不到文件错误,文件在我的项目文件夹中?
【发布时间】:2016-12-02 10:47:50
【问题描述】:

该文件在我的项目中,并且命名正确,我对 JAVA 很陌生。任何提示将不胜感激,TIA。

import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class ExceptionsAndCarryOn {

    public static void main(String[] args) throws FileNotFoundException {
        // TODO Auto-generated method stub

        Scanner UserInput = new Scanner(new File("Numbers.txt"));
        System.out.println("Please enter the numbers: ");

        int [] numbers = new int [5];
        int i = 0;
        while(UserInput.hasNextInt()){
            numbers[i++] = UserInput.nextInt();
        }

        int sum = 0;
        for ( i = 0; i < numbers.length; i++)
            sum += numbers[i];
        System.out.println(sum);

        UserInput.close();

    }

}

【问题讨论】:

  • 你是如何执行程序的?
  • 就在 IDE 中
  • 你把文本文件放在哪里了?
  • @C.Roberts 您告诉用户输入“请输入数字:”但不接受输入。不是错误,但您可以修改它。
  • 您确定 Numbers.txt 在您当前的文件夹中吗?

标签: java file-not-found


【解决方案1】:

将文件 Numbers.txt 放在项目文件夹中,与 src 文件夹平行。不在 src 文件夹内。

这将解决您的问题。由于您没有提供完全限定名称(绝对路径)。 JRE 将假定该文件应位于运行应用程序的项目文件夹中。

您可以将文件放在任何文件夹中并使用完全限定名称,例如:

   Scanner UserInput = new Scanner(new File("D://Sunit//Numbers.txt"));     

【讨论】:

    【解决方案2】:

    其中一个可能是问题的原因

    1. 文件在当前工作目录中
    2. 文件具有特定的名称和扩展名
    3. 如果您使用的是 Windows,请从设置中启用“显示隐藏文件的扩展名”属性。否则 Numbers.txt.txt 可能是实际名称

    【讨论】:

      【解决方案3】:

      您声明该文件位于您的 project/src 文件夹中。那是源文件存在的地方,而不是执行的地方。

      编译 .java 文件时,字节码(.class 文件)存储在 build/classes 目录中。您可以将 Numbers.txt 保留在那里,但一旦您提供 clean and build 选项,它将被删除。

      你有两种选择:

      1. 将代码中的路径改为“../../src/Numbers.txt”

      2. 将 Numbers.txt 移动到任意位置并给出绝对路径。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-09-08
        • 2015-04-25
        • 2012-07-28
        • 2019-05-18
        • 2020-02-18
        相关资源
        最近更新 更多