[英]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.