当前位置: 代码网 > it编程>编程语言>Java > Java多种获取项目路径下的文件方式

Java多种获取项目路径下的文件方式

2024年12月13日 Java 我要评论
java多种获取项目路径下的文件目标文件放在项目的resources文件夹下 的 mytxt文件里面文件名叫 file test.txt其实可以看到,项目运行后这个文件被丢到了target文件夹下拿到

java多种获取项目路径下的文件

目标文件放在项目的resources文件夹下 的 mytxt文件里面

文件名叫 file test.txt

其实可以看到,项目运行后

这个文件被丢到了target文件夹下

拿到这个文件的 inputstream

比如我们在fileutil里面写个获取文件流的方法

public class fileutil {
}

① getresourceasstream

string filepath = "/mytxt/filetest.txt";
inputstream inputstream = fileutil.class.getresourceasstream(filepath);

② getresource + getpath

string filepath = "/mytxt/filetest.txt";
string path = fileutil.class.getresource(filepath).getpath();
inputstream fileinputstream = new fileinputstream(path);

③ getclassloader().getresourceasstream

注意了:

这种方式文件路径path初始不带 / 杠

string filepath = "mytxt/filetest.txt";
inputstream inputstream = fileutil.class.getclassloader().

getresourceasstream(filepath);

④ thread.currentthread().getcontextclassloader().getresource

注意了:

这种方式文件路径path初始不带 / 杠

string filepath = "mytxt/filetest.txt";
string path = thread.currentthread().getcontextclassloader().

getresource(filepath ).getpath();
inputstream fileinputstream = new fileinputstream(path);

⑤ system.getproperty

先拿项目根路径,再拼接target/classes 以及 文件路径

string filepath = "/mytxt/filetest.txt";
string relativelypath = system.getproperty("user.dir");

inputstream fileinputstream = new fileinputstream(relativelypath + "/target/classes/" + filepath);

⑥ paths.get("").toabsolutepath()

先拿项目根路径,再拼接target/classes 以及 文件路径

string filepath = "/mytxt/filetest.txt";
path path = paths.get("").toabsolutepath();
inputstream fileinputstream = new fileinputstream(path + "/target/classes/" + filepath);

拿到inputstream ,该干嘛干嘛吧

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。

(0)

相关文章:

  • 基于Maven pom文件使用分析

    基于Maven pom文件使用分析

    projectmaven 是一个强大的构建和依赖管理工具,pom.xml 文件是 maven 项目的核心配置文件,用于定义项目的构建、依赖关系、插件、目标等。它... [阅读全文]
  • Java8 CompletableFuture异步编程解读

    Java8 CompletableFuture异步编程解读

    completablefuturede介绍java 8 引入了 completablefuture 类,这是 java 异步编程的一个重要进展。completa... [阅读全文]
  • java集合超详细(最新推荐)

    1 - 概述所有的集合类和集合接口都在java.util包下。在内存中申请一块空间用来存储数据,在java中集合就是替换掉定长的数组的一种引用数据类型。2 - 集合与数组的区别长度…

    2024年12月14日 编程语言
  • Mybatis中SQL的执行过程详解

    Mybatis中SQL的执行过程详解

    mybatis 框架sql执行过程数据库操作映射方式mybatis支持两种方式进行数据库操作映射:映射文件:通过xml文件来定义sql语句和映射关系注解方式:通... [阅读全文]
  • IDEA性能优化方法解决卡顿问题

    IDEA性能优化方法解决卡顿问题

    前言我们在使用 intellij idea的时候有时候会觉得卡顿,那么如何在不升级电脑配置的情况下让 intellij idea的性能更好呢?我们可以通过去修改... [阅读全文]
  • java 抽象类示例详解

    一、抽象类概述:我们知道,类用来模拟现实事物。一个类可以模拟一类事物,而某个类的一个实例化对象可以模拟某个属于该类的具体的事物。类中描绘了该类所有对象共同的特性,当一个类中给出的信…

    2024年12月14日 编程语言

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com