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

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

使用IDEA新建一个Maven项目

image.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前的路径,只看后面的路径)

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();
    }
}
/demo/target/classes/
/demo/target/classes/
/demo/target/classes/com/demo/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();
    }
}

二、读取文件

/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
• 1
• 2
• 3

参考

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

相关文章
|
4月前
|
JavaScript Java
不同目录下的文件读取方式
这篇文章介绍了在Java中不同情况下读取文件的方法,包括当文件与类文件处于同级目录、不同级目录,以及不区分目录层级时的读取方式。
31 1
|
7月前
|
Java Spring
springboot项目读取 resources 目录下的文件的9种方式(总结)
springboot项目读取 resources 目录下的文件的9种方式(总结)
2904 1
|
前端开发 Java 关系型数据库
SpringBoot本地上传文件到resources目录永久保存下载的最佳实践
Java后端项目上传文件是一个很常见的需求,一般正式项目中我们上传文件都是利用第三方阿里云OSS这类的,但是如果只是为了学习之用,那我们可能就会直接上传到电脑上某个本地文件夹
316 1
|
JavaScript Java Maven
如何访问jar包下面的资源文件
有些时候,我们需要通用一些功能页面,比如maven中公用的core的jar包内需要增加一些通用的功能,现在总结一下自己从中学到的一些东西
127 1
|
存储 Java
SpringBoot项目打成jar包之后无法读取资源文件【jar包文件的读取方式】
SpringBoot项目打成jar包之后无法读取资源文件【jar包文件的读取方式】
447 0
|
Java Maven
Maven项目获取资源文件路径并读取资源文件内容
Maven项目获取资源文件路径并读取资源文件内容
268 0
Maven项目获取资源文件路径并读取资源文件内容
|
测试技术 Python
一日一技:导入父文件夹中的模块并读取当前文件夹内的资源
一日一技:导入父文件夹中的模块并读取当前文件夹内的资源
126 0
|
Java 定位技术 Maven
qqwry.dat输出乱码问题及maven打包后资源文件大小不一致的问题
qqwry.dat输出乱码问题及maven打包后资源文件大小不一致的问题
166 0
C#获取资源文件夹中的完整路径
C#获取资源文件夹中的完整路径
|
Java 应用服务中间件 Linux
springboot上传下载文件(1)(项目和文件资源放在同一个服务器上)
springboot上传下载文件(1)(项目和文件资源放在同一个服务器上)
328 0
springboot上传下载文件(1)(项目和文件资源放在同一个服务器上)