我正在尝试将文本输出到 Java 中的资源文件,如下所示:
File file = new File(MLM.class.getClassLoader().getResource("mazes.txt").toString());
BufferedWriter out = new BufferedWriter(new FileWriter(file));
..
但由于尚未创建资源文件,我得到一个空指针异常。如果它不存在,我如何首先创建一个空白资源文件以避免此错误?
我正在尝试将文本输出到 Java 中的资源文件,如下所示:
File file = new File(MLM.class.getClassLoader().getResource("mazes.txt").toString());
BufferedWriter out = new BufferedWriter(new FileWriter(file));
..
但由于尚未创建资源文件,我得到一个空指针异常。如果它不存在,我如何首先创建一个空白资源文件以避免此错误?
一个简单的空检查就足够了
URL u = MLM.class.getResource("/mazes.txt");
if (u != null) {
...
}
来自getResource的 javadoc
返回:
一个 URL 对象,如果没有找到具有此名称的资源,则返回 null
您可以在代码之前使用:
当且仅当具有此名称的文件尚不存在时,以原子方式创建以此抽象路径名命名的新的空文件。检查文件是否存在以及如果文件不存在则创建文件是单个操作,相对于可能影响文件的所有其他文件系统活动而言是原子操作。