Java获取resources下文件路径的几种方法及遇到的问题

 更新时间:2023年12月14日 11:39:53   作者:白大锅  
这篇文章主要给大家介绍了关于Java获取resources下文件路径的几种方法及遇到的问题,在Java开发中经常需要读取项目中resources目录下的文件或获取资源路径,需要的朋友可以参考下

方法一:使用ClassLoader.getResource()方法

String filePath = "path/to/file.txt";
URL resourceUrl = getClass().getClassLoader().getResource(filePath);
String resourcePath = resourceUrl.getPath();

方法二:使用ClassLoader.getResourceAsStream()方法

String filePath = "path/to/file.txt";
InputStream inputStream = getClass().getClassLoader().getResourceAsStream(filePath);

方法三:使用Class.getResource()方法

String filePath = "path/to/file.txt";
URL resourceUrl = getClass().getResource(filePath);
String resourcePath = resourceUrl.getPath();

方法四:使用Class.getResourceAsStream()方法

String filePath = "path/to/file.txt";
InputStream inputStream = getClass().getResourceAsStream(filePath);

问题记录

获取resources目录下某文件路径并返回

public String getResourcesPath(String filePath) {
        String resourcePath=null;
        try {
            Resource resource = new ClassPathResource(filePath);
            Path path = resource.getFile().toPath();
            resourcePath=path.toString();
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
        return resourcePath;
    }

此处也能获取到文件路径 仅限本地 当jar包时 是无法获取到该文件具体的路径的 我的解决方案如下:

 public String getResourcesPath(String filePath) {
        String resourcePath=null;
        File file = new File(filePath);
        try {
            Resource resource = new ClassPathResource(filePath);
            InputStream inputStream = resource.getInputStream();
            FileUtils.copyInputStreamToFile(inputStream, file);
            resourcePath=file.getAbsolutePath();
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
        return resourcePath;
    }

从流中获取

总结

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

相关文章

  • 利用Jackson实现数据脱敏的示例详解

    利用Jackson实现数据脱敏的示例详解

    在我们的企业项目中,为了保护用户隐私,数据脱敏成了必不可少的操作,那么我们怎么优雅的利用Jackson实现数据脱敏呢,本文就来和大家详细聊聊,希望对大家有所帮助
    2023-05-05
  • Java web入门指南之在Idea上创建Java web项目

    Java web入门指南之在Idea上创建Java web项目

    好多书上的JavaWeb教程都是Eclipse以及MyEclipse,当然这里不论IDE的好坏,下面这篇文章主要给大家介绍了关于Java web入门指南之在Idea上创建Java web项目的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-06-06
  • @OneToMany查询陷入循环引用的解决方案

    @OneToMany查询陷入循环引用的解决方案

    这篇文章主要介绍了@OneToMany查询陷入循环引用的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-10-10
  • java的内部类和外部类用法讲解

    java的内部类和外部类用法讲解

    本文详细讲解了java的内部类和外部类用法,文中通过示例代码介绍的非常详细。对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-12-12
  • Spring Boot、Redis、RabbitMQ 在项目中的核心作用详解(代码示例)

    Spring Boot、Redis、RabbitMQ 在项目中的核心作用详解(代码示例)

    在现代企业级应用开发中,Spring Boot、Redis 和 RabbitMQ 已经成为不可或缺的技术组件,本文将深入剖析这三者在实际项目中的作用,并通过代码示例和流程图展示它们的实际应用,感兴趣的朋友一起看看吧
    2025-11-11
  • Java ConcurrentHashMap用法案例详解

    Java ConcurrentHashMap用法案例详解

    这篇文章主要介绍了Java ConcurrentHashMap用法案例详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-08-08
  • Java Date类的使用案例详解

    Java Date类的使用案例详解

    这篇文章主要介绍了Java Date类的使用案例详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-08-08
  • java构建树形结构的实现过程

    java构建树形结构的实现过程

    文章介绍了五种构建树形结构的方式,包括定义实体类、利用Map集合、使用Stream流、基于Hutool以及MyBatis-Plus的@TableName属性,最后,还提供了一个基于Java实现树结构模糊搜索功能的示例
    2025-11-11
  • 浅谈FileItem类的常用方法

    浅谈FileItem类的常用方法

    下面小编就为大家带来一篇浅谈FileItem类的常用方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-08-08
  • 使用Java计算集合中的组内平均值的代码实现

    使用Java计算集合中的组内平均值的代码实现

    在Java开发中,集合(Collection)是一个重要的数据结构,广泛应用于各种场景,计算集合中的组内平均值是一个常见的操作,本文将深入探讨如何使用Java来计算集合中的组内平均值,涵盖基本概念、具体实现、优化策略和实用示例,需要的朋友可以参考下
    2024-06-06

最新评论