我试图从我的类路径中提取某些类型的文件并将其放入临时目录,我希望资源根据其“相对于类路径的路径”进行提取。
我可以使用Spring的PathMatchingResourcePatternResolver检索匹配资源的列表。例如,我正在扫描
PathMatchingResourcePatternResolver只返回Resource数组,对于这些Resource,我只能检索资源的URL,但我还想知道这些资源的“根”目录是什么。返回的Resource可能具有不同的“格式”,如
有人可以给我提示如何实现提取或查找资源的类路径根相对路径吗?
谢谢
编辑:
我不确定是否更好的方法是改变我的问题:
有没有办法知道资源的“相对类路径”是什么? 只需使用我之前的示例,如果我扫描
classpath*:/xyz/**/*.bar
从类路径中获取,假设在类路径中有一个/xyz/some/dir/foo.bar
, 我想将此资源提取到 MY_TEMP_DIR/some/dir/foo.bar
. 有没有办法得到这个资源相对于类路径的相对路径,以便我可以相应地构造输出位置?PathMatchingResourcePatternResolver只返回Resource数组,对于这些Resource,我只能检索资源的URL,但我还想知道这些资源的“根”目录是什么。返回的Resource可能具有不同的“格式”,如
jar:file:/some/path/somejar.jar!/xyz/some/dir/foo.bar
,file:/some/output/directory/xyz/some/dir/foo.bar
等。有人可以给我提示如何实现提取或查找资源的类路径根相对路径吗?
谢谢
编辑:
我不确定是否更好的方法是改变我的问题:
有没有办法知道资源的“相对类路径”是什么? 只需使用我之前的示例,如果我扫描
classpath*:/xyz/**/*.bar
,并获得资源 file:/some/output/directory/xyz/some/dir/foo.bar
,有没有办法我可以获得该资源的“相对路径”(/xyz/some/dir/foo.bar
)?