java - 在项目根文件夹中找不到文件

标签 java eclipse file file-io java.util.scanner

我运行以下代码,程序返回 FileNotFoundException:

public void read()
{
    Scanner scanner = new Scanner(new File("/project_folder_name/data.in"));
    while (scanner.hasNextLine())
    {
        System.out.println(scanner.nextLine());
    }
}

我尝试过在项目根文件夹、包文件夹和任意文件夹(即/User/.../Desktop/data.in)中使用 data.in 文件,并且我总是得到相同的结果:

示例:

//relative path (for when data.in is within project root folder)
Scanner scanner = new Scanner(new File("data.in"));

//path for when data.in is moved in package
Scanner scanner = new Scanner(
new File("/project_folder_name/source_folder_name/package_name/data.in"));

这些都不起作用。

我正在 Eclipse IDE 中运行该程序。

最佳答案

我必须使用try/catch来避免异常中断程序:

public void read()
    {
        try
        {
            Scanner scanner = new Scanner
                    (new File("data.in"));
            while (scanner.hasNextLine()) 
            {
                System.out.println(scanner.nextLine());
            }
        }
        catch(IOException ex)
        {
            ex.printStackTrace();
        }
    }

在这种情况下,这也适用于:

"C:\\Users\\...\\Desktop\\data.in"
"/Users/.../Desktop/data.in"
"data.in"(if it's in the root folder)

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

相关文章:

javascript - 预编译后缺少 Rails javascript Assets

linux - 重命名多个目录中的多个文件

java - libgdx 离开屏幕和屏幕生命周期

java - 如何将android背景颜色设置到Fragment中

Java : JPanel GridBagLayout issue

java - Guava Stopwatch.createStarted() 未定义?

eclipse - Indigo 中的新 M2Eclipse 是否不再需要 maven-eclipse-plugin?

java - 如何在过滤文本字段时刷新组合?

eclipse - 如何更轻松地调试 maven surefire 测试(使用 eclipse 作为调试服务器)

java - 字节流上的困惑