这是获取某个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