我一直收到文件未找到错误

时间:2014-04-11 23:35:41

标签: java input output average

这是提示:

编写一个程序,读取包含两列浮点数的文件。提示用户输入文件名。打印每列的平均值。

我的问题是我的程序找不到我的输入文件。

编辑:我不再收到“找不到档案”。错误,但我的程序在找到文件后没有做任何事情......

这是我的代码:

 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.");
    }
}

3 个答案:

答案 0 :(得分:0)

可能你走的是错误的道路。 你在输入文件的完整路径吗?喜欢" c:\ documents \ file.txt"?如果您使用的是Windows,请转到属性,打开常规选项卡并查看文件的位置。

答案 1 :(得分:0)

将文件放在项目基目录

也这样做

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

答案 2 :(得分:0)

问题在于:

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/

不会。