java getresources方法_java-如何正确使用ClassLoader.getResources()?
发布日期:2021-06-24 16:28:49 浏览次数:2 分类:技术文章

本文共 868 字,大约阅读时间需要 2 分钟。

这是获取某个URL对象指向的File对象的最简单方法:

File file=new File(url.toURI());

现在,对于您的具体问题:

在META-INF“目录”中查找所有资源:

您确实可以使File对象指向此URL。

Enumeration en=getClass().getClassLoader().getResources("META-INF");

if (en.hasMoreElements()) {

URL metaInf=en.nextElement();

File fileMetaInf=new File(metaInf.toURI());

File[] files=fileMetaInf.listFiles();

//or

String[] filenames=fileMetaInf.list();

}

所有名为bla.xml的资源(递归)

在这种情况下,您将必须执行一些自定义代码。 这是一个虚拟的示例:

final List foundFiles=new ArrayList();

FileFilter customFilter=new FileFilter() {

@Override

public boolean accept(File pathname) {

if(pathname.isDirectory()) {

pathname.listFiles(this);

}

if(pathname.getName().endsWith("bla.xml")) {

foundFiles.add(pathname);

return true;

}

return false;

}

};

//rootFolder here represents a File Object pointing the root forlder of your search

rootFolder.listFiles(customFilter);

运行代码时,您将在foundFiles列表中找到所有发现的事件。

转载地址:https://blog.csdn.net/weixin_33826897/article/details/114190776 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:java hostwrite_FileWriter只写第一行(启用了附加模式,Java)
下一篇:iosalipay_【报Bug】ios支付宝支付调起支付闪退

发表评论

最新留言

不错!
[***.144.177.141]2024年04月27日 18时34分38秒