如何在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内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • spring data简化jpa开发_动力节点Java学院整理

    spring data简化jpa开发_动力节点Java学院整理

    这篇文章主要介绍了spring data简化jpa开发,本文主要讲述 Spring Data JPA,希望能够深入学习 Spring 和 JPA,有兴趣的可以了解下
    2017-09-09
  • Jenkins与SVN持续集成的示例代码

    Jenkins与SVN持续集成的示例代码

    这篇文章主要介绍了Jenkins与SVN持续集成的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-03-03
  • JavaWeb实战之编写单元测试类测试数据库操作

    JavaWeb实战之编写单元测试类测试数据库操作

    这篇文章主要介绍了JavaWeb实战之编写单元测试类测试数据库操作,文中有非常详细的代码示例,对正在学习javaweb的小伙伴们有很大的帮助,需要的朋友可以参考下
    2021-04-04
  • Java线程阻塞工具LockSupport用法详解

    Java线程阻塞工具LockSupport用法详解

    Java中的LockSupport是一个用于线程同步的工具类,它提供了一种基于线程的阻塞和唤醒机制,LockSupport可以让线程在特定条件下阻塞挂起,等待其他线程发送信号来唤醒它,本文将通过一个小案例给大家介绍一下LockSupport怎么用,让你永远记住它
    2023-08-08
  • Druid连接池的自定义过滤功能实现方法

    Druid连接池的自定义过滤功能实现方法

    在数据密集型应用中,监控和分析数据库操作对于确保性能和稳定性至关重要,本文将探讨如何实现一个自定义的Druid过滤器来捕获数据库请求并进行日志记录,以辅助开发和维护工作,需要的朋友可以参考下
    2023-11-11
  • Springboot整合zookeeper实现对节点的创建、监听与判断的案例详解

    Springboot整合zookeeper实现对节点的创建、监听与判断的案例详解

    这篇文章主要介绍了基于Springboot整合zookeeper实现对节点的创建、监听与判断,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-06-06
  • SpringMVC拦截器快速掌握上篇

    SpringMVC拦截器快速掌握上篇

    拦截器(Interceptor)是一种动态拦截方法调用的机制,在SpringMVC中动态拦截控制器方法的执行。本文将详细讲讲SpringMVC中拦截器的概念及入门案例,感兴趣的可以尝试一下
    2022-08-08
  • Java SPI的简单小实例

    Java SPI的简单小实例

    这篇文章主要介绍了Java SPI的简单小实例,文中讲解非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下
    2020-07-07
  • 一篇文章教会你使用java爬取想要的资源

    一篇文章教会你使用java爬取想要的资源

    这篇文章主要介绍了使用java爬虫爬取想要的资源,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-08-08
  • Java虚拟机调用Java主类的main()方法

    Java虚拟机调用Java主类的main()方法

    这篇文章主要介绍了Java虚拟机调用Java主类的main()方法,前一篇文章我们介绍了关于Java虚拟机HotSpot
    2021-11-11

最新评论