我似乎可以理解为什么我的代码没有编译。每次我运行它,我都会得到一个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();
}
答案 0 :(得分:1)
基本上,异常消息表示您指定的文件名不是执行目录中的现有文件。
编辑 [从我的评论中复制]
该文件应该位于编译完成的位置,如果您使用的是eclipse或intellij,它应该位于您的项目根目录中。
+因为您将a relative path and not an absolute one传递给文件,所以java将其识别为执行目录的相对位置,该目录位于以下代码所指向的位置。
要检查所需的输入文件目录是什么,只需使用 该文件 getAbsolutePath() 例如:
File input = new File("EmployeeInfo.txt");
System.out.println("Move .txt to dir:" + input.getAbsolutePath());
Scanner diskScanner = new Scanner(input);
然后将源.txt
文件移动到该位置