【问题标题】:Why am I getting an error about a Windows file path in Java?为什么我在 Java 中收到有关 Windows 文件路径的错误?
【发布时间】:2018-10-14 11:11:56
【问题描述】:

我得到一个“ java.util.NoSuchElementException: No line found at java.util.Scanner.nextLine(Unknown Source) at parker.MovieLibrary.<init>(MovieLibrary.java:22) at parker.SelectorUserInput.main(SelectorUserInput.java:10) " 尝试打开文件时出错。

下面是给我带来麻烦的 MovieLibrary 构造函数的代码:

    public MovieLibrary() {

        String FILENAME = "\\Users\\FirstName LastName\\Desktop\\JavaIndividualAssignment\\FinalMovieList1.txt";
        Scanner input = new Scanner(FILENAME);
        File file = new File(input.nextLine());
        String[] split;
        try {
            File file1 = new File(input.nextLine());
            input = new Scanner(file1);
            while (input.hasNextLine()) {
                String line = input.nextLine();
                //code to add movies to an ArrayList
            }
                //input.close();
        }
        catch (Exception ex) {
                ex.printStackTrace();
        }
        finally{
            if (input != null){
                input.close();
            }
        }
    }   
}

我厌倦了这里列出的所有建议:Java File Path Windows/Linux ,但他们都没有工作。我每次都遇到同样的错误。 我用单个正斜杠替换了反斜杠,尝试使用 Path 对象,没有改变错误。

这是我的文件路径的问题吗?我在另一台计算机上使用了相同的文件打开代码,它发现文件很好。

下面是

【问题讨论】:

  • 请将异常的完整堆栈跟踪添加到您的问题中。

标签: java windows file path


【解决方案1】:

您正在构建文件名字符串(\Users 等)的 Scanner 对象。很确定您要创建字符串的 File 对象和该 File 对象的 Scanner 对象。

【讨论】:

  • 刚试过,它抛出了 java.io.FileNotFoundException。我认为问题源于文件路径。
  • @Hauntech 这似乎不是有效的 Windows 文件路径。试试"C:\\Users\\FirstName LastName\\Desktop\\JavaIndividualAssignment\\FinalMovieList1.txt",类似的。
  • 我同意词典。我认为这是两件事。并且在每个代码操作之后检查 IDE 和/或打印语句可能对调试有很大帮助。
【解决方案2】:
String FILENAME = "C:\\Users\\FirstName LastName\\Desktop\\JavaIndividualAssignment\\FinalMovieList1.txt";
 Scanner input=null;
    File file = new File(FILENAME);
    String[] split;
    try {

         input = new Scanner(file);
        while (input.hasNextLine()) {
            String line = input.nextLine();
            //code to add movies to an ArrayList
        }
            //input.close();
    }
    catch (Exception ex) {
            ex.printStackTrace();
    }
    finally{
        if (input != null){
            input.close();
        }

} 

试试这个

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-08-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-30
    • 2013-04-07
    相关资源
    最近更新 更多