Java学习系列:getResourceAsStream或getResource的使用

场景

程序中,需要获取配置文件或者资源文件,可以使用getResourceAsStream或getResource来获取资源。本篇博文主要是讲述该用法的使用。

环境

软件 版本
Java 8

正文

show the code!!!

public class TestGetResource {
    
    
    public static void main(String[] args) {
    
    
        TestGetResource testGetResource = new TestGetResource();

        testGetResource.testResource();
        testGetResource.testTest1_2();
        testGetResource.testTest1();
    }

    private void testResource() {
    
    
        System.out.println("从classpath路径下找该文件");
        InputStream resource = this.getClass().getClassLoader().getResourceAsStream("test.properties");
        String resourceLine = IoUtil.read(resource, Charset.forName("UTF-8"));
        System.out.println("读取this.getClass().getClassLoader().getResourceAsStream(\"test.properties\")的值为:"+resourceLine);
    }

    private void testTest1() {
    
    
        System.out.println("从当前路径下找该文件");
        InputStream resource = this.getClass().getResourceAsStream("test.properties");
        String resourceLine = IoUtil.read(resource, Charset.forName("UTF-8"));
        System.out.println("读取this.getClass().getResourceAsStream(\"test.properties\")的值为:"+resourceLine);
    }

    private void testTest1_2() {
    
    
        System.out.println("加入/,则从classpath路径下找该文件");
        InputStream resource = this.getClass().getResourceAsStream("/test.properties");
        String resourceLine = IoUtil.read(resource, Charset.forName("UTF-8"));
        System.out.println("读取this.getClass().getResourceAsStream(\"/test.properties\")的值为:"+resourceLine);
    }
}

结果如下:

从classpath路径下找该文件
读取this.getClass().getClassLoader().getResourceAsStream("test.properties")的值为:index=resource

加入/,则从classpath路径下找该文件
读取this.getClass().getResourceAsStream("/test.properties")的值为:index=resource

从当前路径下找该文件
读取this.getClass().getResourceAsStream("test.properties")的值为:index=test1

扩展

this.getClass().getResourceAsStream 返回 null

  1. 检查文件名及文件路径是否正常;
  2. 检查是否有生成到对应的classes路径。如果文件是放在源码目录下,编译打包可能不会将非java文件复制过去。需要专门设置!!!

总结

多思多想!!!

随缘求赞

如果我的文章对大家产生了帮忙,可以在文章底部点个赞或者收藏;
如果有好的讨论,可以留言;
如果想继续查看我以后的文章,可以点击关注
可以扫描以下二维码,关注我的公众号:枫夜之求索阁,查看我最新的分享!
在这里插入图片描述
拜拜

猜你喜欢

转载自blog.csdn.net/u013084266/article/details/112270671