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

相关文章

  • IDEA2020.1常用配置说明

    IDEA2020.1常用配置说明

    这篇文章主要介绍了IDEA2020.1常用配置说明,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-06-06
  • Java的WeakHashMap源码解析及使用场景详解

    Java的WeakHashMap源码解析及使用场景详解

    这篇文章主要介绍了Java的WeakHashMap源码解析及使用场景详解,Map本身生命周期很长,需要长期贮留内存中,但Map中的Entry可以删除,使用时可以从其它地方再次取得,需要的朋友可以参考下
    2023-09-09
  • java简单实现自定义日历

    java简单实现自定义日历

    这篇文章主要为大家详细介绍了java简单实现自定义日历,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-05-05
  • MybatisPlus中的save方法详解

    MybatisPlus中的save方法详解

    save方法是Mybatis-plus框架提供的一个添加记录的方法,它用于将一个实体对象插入到数据库表中,这篇文章主要介绍了MybatisPlus中的save方法,需要的朋友可以参考下
    2023-11-11
  • Java中通过Class类获取Class对象的方法详解

    Java中通过Class类获取Class对象的方法详解

    这篇文章主要给大家介绍了关于Java中通过Class类获取Class对象的方法,文中通过示例代码介绍的非常详细,对大家学习或者使用java具有一定的参考学习价值,需要的朋友们下面跟着小编来一起学习学习吧。
    2017-08-08
  • java.sql.SQLTimeoutException异常的正确解决方法(亲测有效!)

    java.sql.SQLTimeoutException异常的正确解决方法(亲测有效!)

    在我们编写程序的时候,有时候要进行复杂的查询时,就会出现执行sql时间过长,引起页面执行不了并提示执行脚本超时,这就是我们遇到超时异常,这篇文章主要给大家介绍了关于java.sql.SQLTimeoutException异常的正确解决方法,需要的朋友可以参考下
    2024-02-02
  • Java 读取PDF中的文本和图片的方法

    Java 读取PDF中的文本和图片的方法

    本文将介绍通过Java程序来读取PDF文档中的文本和图片的方法。分别调用方法extractText()和extractImages()来读取,需要的朋友可以参考下
    2019-07-07
  • java单例模式使用及注意事项

    java单例模式使用及注意事项

    这篇文章主要介绍了java单例模式使用及注意事项,需要的朋友可以参考下
    2014-04-04
  • Java在Excel中创建透视表方法解析

    Java在Excel中创建透视表方法解析

    这篇文章主要介绍了Java在Excel中创建透视表方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-05-05
  • Java MeteoInfo解析与绘图代码教程详解

    Java MeteoInfo解析与绘图代码教程详解

    这篇文章主要介绍了Java MeteoInfo解析与绘图代码教程,对于后端导出图片的话,就需要添加色阶了,这一文很简单,就涉及色阶,名称,网格刻度线,感兴趣的朋友一起看看吧
    2021-10-10

最新评论