检查Java中是不是存在多个文件
Posted
技术标签:
【中文标题】检查Java中是不是存在多个文件【英文标题】:Check if multiple files exist in Java检查Java中是否存在多个文件 【发布时间】:2016-03-19 19:47:47 【问题描述】:我已经阅读了具有类似问题的主题,但还没有真正找到足够的答案。
我有以下问题: 我正在开发一个更大的 Java 程序,并希望创建一个类或方法,以便在程序启动时测试 res 中的图像和 txt 文件是否存在。否则会有异常。
我的主要问题是我不知道如何同时管理所有这些多个文件。
也许有人可以帮忙?
提前致谢!
【问题讨论】:
考虑java.io.File
?
【参考方案1】:
看来您首先检查的不是文件,而是类路径资源,即通过Class#getResource
或Class#getResourceAsStream
等类加载器API 加载的资源。两个 API 都返回 null
时找不到资源而不抛出任何异常(可能稍后在程序中由其他一些 API 抛出)
因此要检查的代码就像这个函数一样简单
@Deprecated
private void isAppPackagedCorrectly(String res)
if (getClass().getResource(res) == null)
throw new RuntimeException("Missing resource " + res);
可以在循环中使用。在提供的代码片段中,我将 API 标记为已弃用,因为您可能不想通过打包检查影响应用程序的启动。只需让您的构建过程正确一次,它就不会随机失败。
另外两个随机建议:
-
前导正斜杠
/
在构造绝对资源名称时具有特殊含义。 Check the documentation。
我总是通过一点番石榴代码立即检查资源是否可用:Preconditions.checkNotNull(getClass().getResource(res))
【讨论】:
以上是关于检查Java中是不是存在多个文件的主要内容,如果未能解决你的问题,请参考以下文章