getResourceAsStream用法详解

来源:互联网 发布:淘宝详情页模板图 编辑:程序博客网 时间:2024/05/21 22:27


    public static void main(String[] args) throws Exception{
        //使用绝对路径,否则无法读取config.properties
        //InputStream inStream=new FileInputStream("F:\\android\\test\\src\\com\\ljq\\test\\resource\\xxx.xml");
        
        //ReflectTest.class.getClassLoader().getResourceAsStream(String path): 默认则是从ClassPath根下获取,path不能以’/'开头,最终是由ClassLoader获取资源。 
        //InputStream inStream = ReflectTest.class.getClassLoader().getResourceAsStream("com/ljq/test/resource/xxx.xml");
        
        // ReflectTest.class.getResourceAsStream(String path): path不以’/'开头时默认是从此类所在的包下取资源,以’/'开头则是从ClassPath根下获取。
        //其只是通过path构造一个绝对路径,最终还是由ClassLoader获取资源。
        //InputStream inStream = ReflectTest.class.getResourceAsStream("/com/ljq/test/resource/xxx.xml");
        
        //config.properties配置文件所在目录是ReflectTest类所在子目录,才可以;否则报空指针异常
         InputStream inStream = ReflectTest.class.getResourceAsStream("/resource/xxxxml"); 
        
        Properties props=new Properties();
        props.load(inStream);
        inStream.close();
        
        String className=props.getProperty("className");
        Collection collection=(Collection)Class.forName(className).newInstance();
        collection.add("123");
        System.out.println("size="+collection.size()); //size=1
     }


原创粉丝点击