【问题标题】:How to see if resource file exists in Java?如何查看Java中是否存在资源文件?
【发布时间】:2012-02-21 15:58:13
【问题描述】:

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

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

但由于资源文件尚未创建,我得到一个空指针异常。如果资源文件尚不存在,如何先创建一个空白资源文件以避免出现此错误?

【问题讨论】:

标签: java file resource-files


【解决方案1】:

一个简单的空检查就足够了

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

来自getResource的javadoc

回报:
如果没有找到具有此名称的资源,则为 URL 对象或 null

【讨论】:

  • 对我不起作用,但 MLM.class.getResource("mazes.txt") 起作用了。
  • 我需要一个绝对路径,像这样MLM.class.getResource("/mazes.txt")
  • 为我工作:URL 资源 = MyClassWithMainMethod.class.getResource("/myfile.xml");
【解决方案2】:

你可以在你的代码之前使用:

File.createNewFile()

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-23
    • 2018-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多