簡體   English   中英

我不斷收到找不到文件的錯誤

[英]I keep getting a file not found error

這是提示:

編寫一個程序,該程序讀取包含兩列浮點數的文件。 提示用戶輸入文件名。 打印每列的平均值。

我的問題是我的程序找不到我的輸入文件。

編輯:我不再得到“找不到文件”。 錯誤,但是找到文件后我的程序不執行任何操作...

這是我的代碼:

 public static void main(String[] args) {
    Scanner in = new Scanner(System.in);
    System.out.println("Enter file name.");
    String file = in.next();
    try {
        Scanner inFile = new Scanner(new File(file));
        int count = 0;
        float average1 = 0;
        float average2 = 0;
        while (inFile.hasNextFloat()) {
            String str = inFile.nextLine();
            Scanner line = new Scanner(str);
            line.useDelimiter(" ");
            average1 = Float.parseFloat(line.next());
            average2 = Float.parseFloat(line.next());
            average1 += in.nextFloat();
            average2 += in.nextFloat();
        }
        System.out.println("The average of the first column: " + average1 / count);
        System.out.println("The average of the second column: " + average2 / count);
    } catch (FileNotFoundException e) {
        System.out.println("File not found.");
    }
}

可能您給出了錯誤的路徑。 您要輸入文件的完整路徑嗎? 例如“ c:\\ documents \\ file.txt”? 如果使用的是Windows,請轉到屬性,打開“常規”選項卡,然后查看文件的位置。

將該文件放在您的項目基本目錄中

也這樣做

System.out.println(openFile.getAbsolutePath());

它將向您顯示JVM希望在哪里找到文件,以及它是否也是您期望的文件夾,相應地放置文件或提供確切的位置

如果執行上述操作,您會看到文件位於C:\\ Harley \\ Test \\ strength.txt中,即:它期望文件位於項目基本目錄中

[您還可以檢查文件是否與.class文件位於同一位置。 在bin目錄中。 從而使您更好地理解]

示例代碼段:

String file = "filename.txt";
 File openFile = new File(file);
        Scanner inFile = new Scanner(openFile);

        while (inFile.hasNext()) {
            line = inFile.nextLine();
            System.out.println(line);
        }

這是問題所在:

import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;

public class ExampleClass {

public static void main(String[] args) {
    Scanner in = new Scanner(System.in);
    System.out.println("Enter file name.");

    // you put 'in.next();' put 'in.nextLine()'.
    String file = in.nextLine();
try {
    Scanner inFile = new Scanner(new File(file));
    int count = 0;
    float average1 = 0;
    float average2 = 0;
    while (inFile.hasNextFloat()) {
        String str = inFile.nextLine();
        Scanner line = new Scanner(str);
        line.useDelimiter(" ");
        average1 = Float.parseFloat(line.next());
        average2 = Float.parseFloat(line.next());
        average1 += in.nextFloat();
        average2 += in.nextFloat();
    }
    System.out.println("The average of the first column: " + average1 / count);
    System.out.println("The average of the second column: " + average2 / count);
} catch (FileNotFoundException e) {
    System.out.println("File not found.");
}
}

}

如果仍然無法使用,您是否使用'\\'輸入路徑? 如果是,則必須輸入類似“ /”的路徑,例如:

C:\Users\

會產生錯誤。

C:/Users/

不會。

暫無
暫無

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

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