zoukankan      html  css  js  c++  java
  • Class.getResource&Class.getClassLoader.getResource

    Java中取资源时,经常用到Class.getResource和ClassLoader.getResource

    1.Class.getResource

     path 不以’/'开头时,默认是从此类所在的包下取资源;

     path 以’/'开头时,则是从ClassPath根下获取;

    import java.io.File;
    import java.io.IOException;
    
    public class demo01Main {
        public static void main(String[] args) throws IOException {
            System.out.println(demo01Main.class.getResource(""));
            System.out.println(demo01Main.class.getResource("/"));
            System.out.println(demo01Main.class.getResource("test.txt"));
    
            System.out.println("======================");
    
            final String rootPath = demo01Main.class.getResource("").getFile();
            System.out.println(rootPath);
    
            final File dir = new File(rootPath);
            final File[] modelFiles = dir.listFiles();
            System.out.println(modelFiles);
    
            System.out.println("********************");
    
            for (final File file: modelFiles) {
                System.out.println(file);
                final String fileName = file.getName();
                System.out.println(fileName);
            }
        }
    }

      运行结果:

    project结构:

     

     2.Class.getClassLoader().getResource(String path)

    path不能以’/'开头时;

    path是从ClassPath根下获取;

    package demo01;
    
    import java.io.File;
    import java.io.IOException;
    
    public class demo01Main {
        public static void main(String[] args) throws IOException {
            demo01Main d = new demo01Main();
            System.out.println(d.getClass());
            System.out.println(d.getClass().getClassLoader());
            System.out.println(d.getClass().getClassLoader().getResource(""));
            System.out.println(d.getClass().getClassLoader().getResource("/"));
        }
    }
    

      运行结果:

    参考:关于Class.getResource和ClassLoader.getResource的路径问题

  • 相关阅读:
    hex string 换转
    TX1 flash backup & restore
    Emgu CV
    sql点滴42—mysql中的时间转换
    sql点滴42—mysql中的数据结构
    thinkphp学习笔记9—自动加载
    thinkphp学习笔记8—命名空间
    thinkphp学习笔记7—多层MVC
    js常见执行方法window.onload = function (){},$(document).ready()
    安装64位php开发环境
  • 原文地址:https://www.cnblogs.com/GumpYan/p/13851892.html
Copyright © 2011-2022 走看看