通过路径对象动态使用Maven和getResources吗?

时间:2018-08-08 20:50:47

标签: java maven

我有一个Netbeans maven项目,并且正在使用src/main/resources文件夹在正在编写的程序旁边部署我的图片和一个帮助文件。

根据我对主题的理解,此文件夹中的所有文件(以及包含它们的软件包)都存储在Netbeans IDE生成的.jar文件中。我已经通过在压缩文件提取程序中打开jar来验证了这一点。

这便于部署,以前,我遇到版本控制问题,有些图片已经过时,因为我以前使用磁盘上的文件夹来存放图片文件夹。

我有一个子例程,可从pictures文件夹中选择一个随机图片,但是在jar文件中实现此功能与我对主题的理解相冲突。

如果picture文件夹现在位于jar存档中,如何将Path个对象获取到这些文件?我知道我可以使用Clazz.class.getResource("/pictures")将URL对象获取到文件夹。我还可以将此URL转换为URI,并将其提供给File构造函数,并使用getPath获取磁盘上此文件夹的路径。

然后我可以致电Files.list(picturesPath);获取路径列表并选择一个随机路径。

如果文件/文件夹只是磁盘上的常规文件/文件夹 ,则此过程会很好地运行 ,但是它们不是,它们位于压缩文件中jar存档。这使我感到困惑。

我是否可以将以Path形式获得的这些文件夹视为典型文件夹,并以处理常规文件夹的典型方式来处理它们?是否有工作上的技术手段来实现这种无缝连接?或者我的假设中是否存在一些细微的谬误,以至于我无法使用Files.list(picturesPath)之类的东西?

0 个答案:

没有答案
相关问题