如何在Java中读取resources下的文件及资源路径

 更新时间:2023年06月25日 10:43:31   作者:琴剑飘零西复东  
本文介绍了如何在Java中读取resources下的文件以及获取resource文件的路径,通过使用ClassLoader或Class的getResourceAsStream方法,可以轻松地读取resources目录下的文件,感兴趣的朋友跟随小编一起看看吧

Java读取resources下的文件及资源路径

在Java开发中,经常需要读取项目中resources目录下的文件或获取资源路径。本文将介绍如何在Java中读取resources下的文件,并提供相关实例来说明。

1. 读取resources下的文件

方式一:使用ClassLoader

public class ResourceReader {
    public static void main(String[] args) {
        // 通过ClassLoader读取resources下的文件
        InputStream inputStream = ResourceReader.class.getClassLoader().getResourceAsStream("test.txt");
        if (inputStream != null) {
            try (BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream))) {
                String line;
                while ((line = reader.readLine()) != null) {
                    System.out.println(line);
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}

上述代码通过ClassLoader的getResourceAsStream方法获取resources目录下的test.txt文件的输入流,然后通过BufferedReader逐行读取文件内容并打印。

方式二:使用Class的getResourceAsStream

public class ResourceReader {
    public static void main(String[] args) {
        // 通过Class的getResourceAsStream方法读取resources下的文件
        InputStream inputStream = ResourceReader.class.getResourceAsStream("/test.txt");
        if (inputStream != null) {
            try (BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream))) {
                String line;
                while ((line = reader.readLine()) != null) {
                    System.out.println(line);
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}

这种方式与方式一类似,通过Class的getResourceAsStream方法获取resources目录下的test.txt文件的输入流,并使用BufferedReader逐行读取文件内容。

2. 获取resource文件/路径

方式一:使用ClassLoader

public class ResourcePath {
    public static void main(String[] args) {
        // 获取resource文件的路径
        URL resourceUrl = ResourcePath.class.getClassLoader().getResource("test.txt");
        if (resourceUrl != null) {
            String resourcePath = resourceUrl.getPath();
            System.out.println(resourcePath);
        }
    }
}

上述代码通过ClassLoader的getResource方法获取resources目录下的test.txt文件的URL,然后通过URL的getPath方法获取文件的路径。

方式二:使用Class的getResource

public class ResourcePath {
    public static void main(String[] args) {
        // 获取resource文件的路径
        URL resourceUrl = ResourcePath.class.getResource("/test.txt");
        if (resourceUrl != null) {
            String resourcePath = resourceUrl.getPath();
            System.out.println(resourcePath);
        }
    }
}

这种方式与方式一类似,通过Class的getResource方法获取resources目录下的test.txt文件的URL,并使用URL的getPath方法获取文件的路径。

结论

本文介绍了如何在Java中读取resources下的文件以及获取resource文件的路径。通过使用ClassLoader或Class的getResourceAsStream方法,可以轻松地读取resources目录下的文件。而使用ClassLoader或Class的getResource方法,则可以获取resource文件的路径。

到此这篇关于Java读取resources下的文件及资源路径的文章就介绍到这了,更多相关Java读取resources内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • idea将项目上传到Gitee的图文过程

    idea将项目上传到Gitee的图文过程

    这篇文章主要介绍了idea将项目上传到Gitee上,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-08-08
  • java实现省市区转换成树形结构

    java实现省市区转换成树形结构

    这篇文章主要为大家详细介绍了java实现省市区转换成树形结构,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-08-08
  • 基于springEL表达式详解及应用

    基于springEL表达式详解及应用

    这篇文章主要介绍了springEL表达式详解及应用,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-08-08
  • springboot+dubbo+zookeeper的简单实例详解

    springboot+dubbo+zookeeper的简单实例详解

    本文主要介绍了springboot+dubbo+zookeeper的简单实例,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-10-10
  • Java解析JSON的六种方案

    Java解析JSON的六种方案

    这篇文章介绍了 6 种 JSON 解析方案,包括 Jackson、Gson、FastJSON、JsonPath、、手动解析,分别阐述了它们的功能特点、代码示例、高级功能、优缺点及适用场景,感兴趣的小伙伴跟着小编一起来看看吧
    2025-01-01
  • SpringBoot配置SSL同时支持http和https访问实现

    SpringBoot配置SSL同时支持http和https访问实现

    本文主要介绍了SpringBoot配置SSL同时支持http和https访问实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-07-07
  • Java中HashMap和Hashtable及HashSet的区别

    Java中HashMap和Hashtable及HashSet的区别

    以下是对Java中HashMap和Hashtable及HashSet的区别进行了详细的分析介绍,需要的朋友可以过来参考下
    2013-09-09
  • 详解mybatis中的if-else的嵌套使用

    详解mybatis中的if-else的嵌套使用

    本文主要介绍了mybatis中的if-else的嵌套使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-07-07
  • Feign如何设置超时时间(不同情况)

    Feign如何设置超时时间(不同情况)

    本文主要介绍了Feign的超时时间设置,包括单独使用Feign和在SpringCloud环境下的设置方式,以及与Ribbon和Hystrix的配合使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-11-11
  • Java -jar参数设置小结

    Java -jar参数设置小结

    本文主要介绍了Java -jar参数设置小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-06-06

最新评论