【问题标题】:Java .list() in a jar filejar 文件中的 Java .list()
【发布时间】:2014-07-19 21:45:03
【问题描述】:

int x = new File("src/Images").list().length;

在我想将它作为可执行 jar 文件运行之前,它对我来说很好。 “/Images”和“Images”不起作用,我读到我不能在 jar 中使用新文件。

我想让 jar 文件运行,找到里面的文件并计算文件夹中的图像数量。

上面这行代码有简单的替代方案吗?

我尝试过使用 DirectoryStream 和其他一些东西,但没有成功。

干杯

【问题讨论】:

  • 虽然这是“可能的”,但它很困难并且会做出许多您在运行时无法保证的假设。相反,作为构建过程的一部分,您应该创建一个包含所有文件列表的文件,然后在运行时,您可以简单地使用 Class#getResource 来定位和读取该文件的内容并使用 Class#getResource 加载图片

标签: java list file jar count


【解决方案1】:

它通常使用.jar文件的目录作为根目录。

“使其工作”的最简单方法是:将文件夹 src 与 .jar 文件放在同一文件夹中,并在 src 文件夹中放置 Images 文件夹。

所以它看起来像这样,当你执行 .jar 时:

...../myproject/myproject.jar
...../myproject/src/Images

【讨论】:

  • 当项目被构建到 jar 中时,src 将不存在,您也不应该真的想在运行时公开 src 目录。将图像外部化本身可能不是一个糟糕的解决方案,我只是不会使用 src 目录;)
猜你喜欢
  • 2021-11-26
  • 1970-01-01
  • 2010-12-14
  • 1970-01-01
  • 2013-08-16
  • 1970-01-01
  • 1970-01-01
  • 2023-04-05
  • 2018-04-01
相关资源
最近更新 更多