簡體   English   中英

文件未找到異常。 我不明白

[英]FileNotFoundException. i dont understand

我似乎可以理解為什么我的代碼沒有編譯。 每次運行它時,都會收到 FILENOTFOUNDException。 任何幫助將非常感激。 :D

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

        Scanner diskScanner = 
                new Scanner(new File("EmployeeInfo.txt"));

        for(int empNum = 1; empNum<=3; empNum++)
        {
            payOneEmployee(diskScanner);
        }

    }
    static void payOneEmployee(Scanner aScanner)
    {
        Employee anEmployee = new Employee();

        anEmployee.setName(aScanner.nextLine());
        anEmployee.setJobTitle(aScanner.nextLine());
        anEmployee.cutCheck(aScanner.nextDouble());
        aScanner.nextLine();
    }

基本上異常消息意味着您指定的文件名不是執行目錄中的現有文件。

編輯[從我的評論中復制]
該文件應位於完成編譯的位置,如果您使用的是 eclipse 或 intellij,則它應位於您的項目根目錄中。
+ 因為您傳遞的是相對路徑而不是文件的絕對路徑,所以java 將其識別為相對於執行目錄的相對路徑,該目錄位於后續代碼指向的位置。

要檢查所需的輸入文件目錄是什么,只需對該文件使用getAbsolutePath()即可。
例如:

File input = new File("EmployeeInfo.txt");
System.out.println("Move .txt to dir:" + input.getAbsolutePath());
Scanner diskScanner = new Scanner(input);

然后將源.txt文件移動到該位置

暫無
暫無

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

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