C'est le plus simple wat pour obtenir le Fichier objet pour lequel une certaine URL objet pointe vers:
File file=new File(url.toURI());
Maintenant, pour vos questions concrètes:
- trouver toutes les ressources dans le META-INF "répertoire":
Vous pouvez en effet obtenir l'objet de Fichier pointant vers cette URL
Enumeration<URL> 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();
}
- toutes les ressources nommé bla.xml
(recursivly)
Dans ce cas, vous devrez faire de code personnalisé. Voici un mannequin exemple:
final List<File> foundFiles=new ArrayList<File>();
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);
Lorsque le code est exécuté, vous obtiendrez toutes les trouvé ocurrences à l' foundFiles
de la Liste.