Maven项目获取资源文件路径并读取资源文件内容

简介: Maven项目获取资源文件路径并读取资源文件内容

使用IDEA新建一个Maven项目

项目.png

项目结构如下

项目结构如下.png

项目主要结构

demo/
    src/
        main/
            java/
            resources/   # 资源路径
    target/
        classes/         # 编译后文件

resources文件夹下的文件在编译后,都放在了根目录classes之下

一、获取项目路径

package com.demo;


import java.net.URL;


public class App {

public static void main(String[] args) {

//项目根路径
URL url1 = App.class.getClassLoader().getResource("");
System.out.println(url1.getPath());

// 项目根路径
URL url2 = App.class.getResource("/");
System.out.println(url2.getPath());

// 文件根路径
URL url3 = App.class.getResource("");
System.out.println(url3.getPath());
}
}

输出结果(省略/demo前的路径,只看后面的路径)

/demo/target/classes/
/demo/target/classes/
/demo/target/classes/com/demo/

二、读取文件

/demo/src/main/resources/name.txt

Tom
Jack
Jobs

读取文件内容

package com.demo;

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.net.URL;


public class App {

public static void main(String[] args) throws IOException {


URL url = App.class.getResource("/name.txt");
String filename = url.getPath();
System.out.println(filename);
// /demo/target/classes/name.txt

BufferedReader reader = new BufferedReader(new FileReader(filename));
String line ;

while ((line = reader.readLine())!= null){
System.out.println(line);
}

reader.close();
}
}

输出结果

Tom
Jack
Jobs

参考

Maven获取resources的文件路径、读取resources的文件

            </div>
目录
相关文章
|
域名解析 运维 JavaScript
只需5步!在轻量应用服务器部署Hexo博客
轻量应用服务器征文活动投稿教程帖,只需5步完成Hexo博客的部署实践,步骤完整,操作性强~
只需5步!在轻量应用服务器部署Hexo博客
|
SQL 分布式计算 资源调度
使用flink SQL Client将mysql数据写入到hudi并同步到hive
本文介绍如何使用flink SQL Client将mysql数据写入到hudi并同步到hive
使用flink SQL Client将mysql数据写入到hudi并同步到hive
|
资源调度 监控 供应链
ERP、APS、MES 三者之间的关系
ERP、APS、MES三者之间的关系是相互补充的。ERP系统是企业内部管理的总体解决方案,负责统一管理各种资源和流程。APS系统是ERP系统的补充,负责优化企业的生产计划和调度。MES系统则是在生产过程中对实时数据进行监督、跟踪和控制的系统。三者共同协作,帮助企业提高生产效率、提升质量、降低成本,并实现企业的数字化转型。
932 0
ERP、APS、MES 三者之间的关系
|
负载均衡 网络协议 Cloud Native
CentOS环境下安装Nacos
Centos安装Nacos完成入门的学习和开发任务
1663 0
CentOS环境下安装Nacos
|
Web App开发 监控 JavaScript
【Node系列】REPL详解
Node.js REPL(Read-Eval-Print Loop)是一个交互式环境,允许用户在命令行中直接输入JavaScript代码并立即看到结果。REPL是Node.js的一个重要组成部分,它提供了一个方便的方式来测试代码片段、快速尝试新功能或进行调试。
379 1
|
SQL 关系型数据库 MySQL
删库,误清数据怎么办?MySQL数据恢复指南
相信很多同学在面对线上数据库时都畏手畏脚,即使这样都难免手滑,一不小心手一抖就将数据或者是表,库删除。当然一些注重规范的公司,不会给开发人员删除表或者是库的权限,但误删数据是常有的事,那么这种情况发生,我们改怎么办呢?跑路?哈哈,当然删库跑路是句玩笑话,本文就为大家介绍一些数据误删除恢复的办法。
3891 0
|
XML 前端开发 Java
java常用正则表达式
java常用正则表达式
219 0
|
iOS开发 MacOS Windows
比微信文件传输助手更好用的传输工具|Telegram
比微信文件传输助手更好用的传输工具|Telegram
|
XML JSON 前端开发
SpringMVC进阶:常用注解、参数传递和请求响应以及页面跳转
SpringMVC进阶:常用注解、参数传递和请求响应以及页面跳转
316 0
|
数据安全/隐私保护 UED 索引
大文件上传和优化
最近项目里面有一些视频处理的功能,大概流程就是后端拿到文件以后,使用FFmpeg等底层命令进行去水印,裁切等功能,虽然现在是短视频的年代,但是依然会出现一些高分辨率,高时长的大文件视频,这时候因为一些原因,如网络等,失败率会陡增。

热门文章

最新文章