簡體   English   中英

為什么在Java中出現有關Windows文件路徑的錯誤?

[英]Why am I getting an error about a Windows file path in Java?

我收到了一個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對象,但沒有改變錯誤。

我的文件路徑有問題嗎? 我在另一台計算機上使用了相同的文件打開代碼,它發現文件很好。

下面是

您正在構造文件名字符串(\\ Users等)的Scanner對象。 相當確定您要創建字符串的File對象和該File對象的Scanner對象。

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();
        }

} 

嘗試這個

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM