检查Java中是否存在多个文件

时间:2015-12-14 10:52:45

标签: java file-exists

我已经阅读了类似问题的主题,但还没有找到足够的答案。

我有以下问题: 我正在开发一个更大的Java程序,并希望创建一个类或方法,只是在程序启动时,测试res中的图像和txt文件是否存在。否则会有例外。

我的主要问题是我不知道如何一次管理所有这些多个文件。

也许有人可以提供帮助?

提前致谢!

1 个答案:

答案 0 :(得分:0)

您似乎不是首先检查文件,而是检查类路径资源,即通过类Class#getResourceClass#getResourceAsStream等类加载器API加载的资源。当找不到资源而没有抛出任何异常时(这可能会被其他API稍后在程序中引发),两个API都会返回null

这样检查的代码就像这个函数一样简单

@Deprecated
private void isAppPackagedCorrectly(String res) {
  if (getClass().getResource(res) == null) {
    throw new RuntimeException("Missing resource " + res);
  }
}

可以在循环中使用。在提供的代码片段中,我将API标记为已弃用,因为您可能不希望通过打包检查影响应用程序的启动。只需让您的构建过程正确一次,它就不会随机失败。

另外两个随机建议:

  1. 前导斜杠/在构造绝对资源名称时具有特殊含义。 https://localhost/miApp/Rest/GetName
  2. 我总是立即通过一些Guava代码检查资源是否可用:Preconditions.checkNotNull(getClass().getResource(res))