我对java很陌生,我缺少一些非常基本的东西。当我运行代码时,我试图为代码中创建的帐户添加值(value)。当我尝试运行代码时,我收到一个错误,指出找不到文件,但我认为该文件是在代码内创建的。
import java.util.Scanner;
import java.io.File;
import java.io.IOException;
class DoPayroll
{
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();
}
}
运行后我收到以下错误
Exception in thread "main" java.io.FileNotFoundException: EmployeeInfo.txt (No such file or directory)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:106)
at java.util.Scanner.<init>(Scanner.java:636)
at DoPayroll.main(jobexe.java:11)
我认为在上面的代码中使用 new Scanner(new File("EmployeeInfo.txt")
一旦我输入一个值就会创建新文件。请给我一个简单的解决方案和解释.
最佳答案
当您写入时,它将创建一个新文件。然而,要读取它,它必须已经存在。您可能想检查它是否存在
File file = new File("EmployeeInfo.txt");
if (file.exists()) {
Scanner diskScanner = new Scanner(file);
for (int empNum = 1; empNum <= 3; empNum++)
payOneEmployee(diskScanner);
}
关于java - 我的java代码有缺陷,但我不明白为什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5421502/