`
iloveflower
  • 浏览: 76760 次
社区版块
存档分类
最新评论
  • iloveflower: 呵呵。好好学习。。。。。。。。。。。。
    java 读书
  • Eric.Yan: 看了一点,不过是电子版的……你这一说到提醒我了,还要继续学习哈 ...
    java 读书

How to use getClass().getClassLoader().getResource()

 
阅读更多
This is the simplest wat to get the File object to which a certain URL object is pointing at:
File file=new File(url.toURI());

Now, for your concrete questions:

•finding all resources in the META-INF "directory":

You can indeed get the File object pointing to this 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();
}

•all resources named bla.xml (recursivly)

In this case, you'll have to do some custom code. Here is a dummy example:
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);

When the code is run, you'll get all the found ocurrences at the foundFiles List.

********************************************
example:

private static void init() {
URL url = NTGLoggerFactory.class.getClassLoader().getResource(FILE_NAME);
PropertyConfigurator.configure(url);
initialized = true;
}
分享到:
评论

相关推荐

    Java 使用getClass().getResourceAsStream()方法获取资源

    主要介绍了Java 使用getClass().getResourceAsStream()方法获取资源的相关资料,这里主要讲解哪种方式可以获取到文件资源,需要的朋友可以参考下

    Getclass.py爬取武汉理工大学课表

    爬取武汉理工大学课表信息,并且显示出来,仅供参考学习

    java 反射getClass .class 的使用方法示例

    主要介绍了java 反射getClass .class 的使用方法,结合实例形式分析了java类反射机制的相关操作技巧,需要的朋友可以参考下

    Java ClassLoader学习总结

    主要内容包括 Java类加载机制及加载流程,以及如何定义自己的类加载器,如何实现类的热替换。

    调用webservice例子 查询手机号归属地 soap协议的传xml

    InputStream inStream = this.getClass().getClassLoader().getResourceAsStream("mobilesoap.xml"); try { addressView.setText(MobileInfoService.getMobileAddress(inStream, mobile)); } catch...

    java的小程序

    import java.util.Scanner; import javax.swing.*; import java.awt.*; import java.awt.event.*; import javax.imageio.*; ...public class Jsq{ ... blaf9.setIcon(new ImageIcon(getClass().getResource(s009...

    java工厂系列设计模式源码与文档

    Document document = sb.build(this.getClass().getClassLoader().getResourceAsStream(fileName)); Element root = document.getRootElement(); List list = XPath.selectNodes(root, "/beans/bean"); for...

    java类读取配置文件信息

    在java类里直接读取配置文件中的信息,用到的方法是this.getClass().getClassLoader().getResourceAsStream

    Activiti modeler 设计器汉化文件

    Activiti modeler 设计器汉化文件。引入方式:修改StencilsetRestResource中的InputStream stencilsetStream = this.getClass().getClassLoader().getResourceAsStream("stencilset.json.zh-cn");

    Spring原理模拟代码

    Document doc = sb.build(this.getClass().getClassLoader() .getResourceAsStream("beans.xml")); Element root = doc.getRootElement();// 获取根元素 List&lt;?&gt; list = root.getChildren("bean");// 获取...

    Java获取*路径实现探讨

    (1)、request.getRealPath(“/”);//不推荐使用获取工程的根路径 (2)、...//获取工程的根路径,这个方法比较好用,可以直接在servlet和jsp中使用 (4)、 this.getClass().getClassLoader().getResource(“”).getPath();

    Java 高级特性.doc

    Constructor constructor = Class.forName("java.lang.String").getConstructor(StringBuffer.class); String str = (String)constructor.newInstance(new StringBuffer("abc")); System.out.println(str); ...

    测试 test-spring-spi

    spring-spi List&lt;Say&gt; loadFactories = SpringFactoriesLoader.... Say say = loadFactories.get(i); System.out.println(say.getClass().getName()); System.out.println(say.sayHrello("张三")); }

    经典java小程序源代码合集.zip

    Image white= tk.getImage(cl.getResource("res/white.png")); Image black= tk.getImage(cl.getResource("res/black.png")); Image title= tk.getImage(cl.getResource("res/title.png")); Image temp; ...

    Java声音播放程序源代码

    URL file1 = getClass().getResource(choics[0]); //声音文件1 URL file2 = getClass().getResource(choics[1]); //声音文件2 AudioClip sound1 = java.applet.Applet.newAudioClip(file1); //声音剪辑对象1 ...

    使用 AbstractTableModel 构建Table 在表格中添加JButton按钮

    The TableCellRenderer interface contains only one method, getTableCellRendererComponent(...), which returns a java.awt.Component that knows how to draw the contents of a specific cell. Usually, ...

    java 实现AOP

     businessImp.getClass().getClassLoader(),  businessImp.getClass().getInterfaces(),  handler); proxy.processBusiness(); BusinessInterface businessImp = new BusinessObject(); ...

    MvpDemo:开发模式MVP

    mProxyView = (V) Proxy.newProxyInstance(view.getClass().getClassLoader(), view.getClass().getInterfaces(), new InvocationHandler() { @Override public Object invoke(Object proxy, Method method, ...

    android-studio-unit-test-resource-issue-demo:演示执行单元测试时缺少Java资源的问题

    getResourceAsStream( " path/to/resource.txt " ); 此问题影响非Android单元测试和Java资源,仅在具有“单元测试”配置的Android Studio上执行。 它不影响使用Gradle(在Android Studio或命令行中)执行测试用例...

    详解java中this.getClass()和super.getClass()的实例

    主要介绍了详解java中this.getClass()和super.getClass()的实例的相关资料,需要的朋友可以参考下

Global site tag (gtag.js) - Google Analytics