java getresources方法_java-如何正确使用ClassLoader.getResources()?

java getresources方法_java-如何正确使用ClassLoader.getResources()?这是获取某个URL对象指向的File对象的最简单方法:Filefile=newFile(url.toURI());现在,对于您的具体问题:在META-INF“目录”中查找所有资源:您确实可以使File对象指向此URL。Enumerationen=getClass().getClassLoader().getResources(“META-INF”);if(en.hasMoreElement…

这是获取某个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列表中找到所有发现的事件。

今天的文章java getresources方法_java-如何正确使用ClassLoader.getResources()?分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/25794.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注