我是一名新的java学生,目前正在研究文件I/O。我的教授要求我们使用接口和类创建一个非常简单的"DC宇宙"游戏,并要求我们在目前的实验室中创建一个对象的实例,然后将文件保存到C驱动器的目录中。我的问题是,即使我在过去的主题中持续挖掘了2个小时,我仍然找不到一个适当的解释,关于我如何创建一个目录,然后创建一个文件,并在该目录中写入一个文件,因为每当我运行代码时,它就会出现,无法同时执行两个任务。下面的代码还在"Print Writer"行包含一个错误,并要求为"file not found exception"添加一个throw子句
任何帮助都是非常感谢的
package runtime;
import java.io.*;
import java.util.*;
import model.hero.*;
public class Gameplay {
public static void main(String[] args) {
File x = new File("C://prog24178//dcheroes.dat");
if(!x.exists()){
x.mkdir();
}
PrintWriter output = new PrintWriter(x);
// 1. Create a save file called dcheroes.dat in {$root}prog24178
// 2. Create a hero
// 3. Save hero to file
}
}
我看到两个错误:
-
x.mkdir()
将尝试创建C:prog24178dcheroes.dat
作为目录。使用x.getParent().mkdir()
创建C:prog24178
-
PrintWriter
错误是Java抱怨您没有捕获潜在的错误。你的代码很好,只是Java要求太高了。用try { ... } catch (FileNotFoundException ex) { ... }
块包围你的代码。每个可能抛出Exception
的函数调用都需要捕获该异常,或者需要将包含该异常的函数标记为也可能是异常的来源(在main
上不能这样做)。