Java FileNotFoundException,但文件存在于同一级别
我已经创建了一个程序,它帮助学生的成绩,我想将这些成绩存储在一个txt文件中,当我启动程序时,导入成绩,在程序完成后,导出成绩。我在一个单独的文件中有import和exportTo方法,然后在主类中调用这些方法。所有文件都在同一级别,没有语法错误。但我仍然得到一个FileNotFoundException作为错误。这是我的进出口代码:Java FileNotFoundException,但文件存在于同一级别,java,error-handling,filenotfoundexception,file-not-found,Java,Error Handling,Filenotfoundexception,File Not Found,我已经创建了一个程序,它帮助学生的成绩,我想将这些成绩存储在一个txt文件中,当我启动程序时,导入成绩,在程序完成后,导出成绩。我在一个单独的文件中有import和exportTo方法,然后在主类中调用这些方法。所有文件都在同一级别,没有语法错误。但我仍然得到一个FileNotFoundException作为错误。这是我的进出口代码: public void exportTo(String fileName) { try ( FileOutputStream fo
public void exportTo(String fileName) {
try (
FileOutputStream fos = new FileOutputStream(fileName);
PrintWriter writer = new PrintWriter(fos);
) {
for (Grade grade : mGrades) {
System.out.printf("New grade" +grade);
writer.printf("%s|%s%n",grade.getPupil(), grade.getGrade());
}
} catch(IOException ioe) {
System.out.printf("Problem saving %s %n", fileName);
ioe.printStackTrace();
}
}
public void importFrom(String fileName) {
try (
FileInputStream fis = new FileInputStream(fileName);
BufferedReader reader = new BufferedReader(new InputStreamReader(fis));
) {
String line;
while((line = reader.readLine()) != null) {
String[] args = line.split("\\|");
addGrade(new Grade(args[0], args[1]));
}
} catch(IOException ioe) {
System.out.printf("Problems loading %s %n", fileName);
ioe.printStackTrace();
}
}
这与您的工作目录设置不正确有关。要绕过这个问题,请这样做 ''' ''' 然后可以将目录名传递给函数 或者如果您正在使用IntelliJ
向我们显示您的文件路径(也称为文件名)您可能只是指定了文件名(而不是完整路径),并且您的程序的当前目录不是您的输入文件所在的目录。代码似乎正常,只需检查您的文件路径请检查您的程序正在运行的目录。此外,还要检查在写入文件时是否指定了正确完整的路径。并验证您在该位置是否具有操作系统权限。
System.setProperty("user.dir", YOUR_WORKING_DIRECTORY);
String dir = System.getProperty("user.dir")