如何查看Java中是否存在资源文件?

时间:2012-02-21 15:58:13

标签: java file resource-files

我正在尝试将文本输出到Java中的资源文件,如下所示:

File file = new File(MLM.class.getClassLoader().getResource("mazes.txt").toString());
BufferedWriter out = new BufferedWriter(new FileWriter(file));
..

但是因为没有创建资源文件,我得到一个空指针异常。如果它已经不存在以避免此错误,我该如何首先创建一个空白资源文件?

2 个答案:

答案 0 :(得分:40)

简单的空检查就足够了

URL u = MLM.class.getResource("/mazes.txt");
if (u != null) {
         ...
}

来自getResource

的javadoc
  

<强>返回:
      URL对象;如果未找到具有此名称的资源,则为null

答案 1 :(得分:2)

您可以在代码之前使用:

File.createNewFile()

  

以原子方式创建一个由此抽象路径名命名的新空文件   当且仅当具有此名称的文件尚不存在时。检查   文件的存在和文件的创建,如果没有   存在是一个相对于所有其他操作是原子的单个操作   可能影响文件的文件系统活动。