Maven项目用Java读取工程中文件的方式(是工程中自己编写的文件,不是部署后到target中的文件)

有时候需要直接读取到工程里的文件进行操作,下面贴上一段读取Maven项目中文件的代码:

package com.yuedu.common.util.generator;

import java.io.File;
import java.io.IOException;

import org.aspectj.util.FileUtil;

public class TestUtil {
    
    public static void main(String[] args) {
        String filePath = "src/main/resources/base/mybatis/common/CommonApartmentMapper.xml";
        File configFile = new File(filePath);
        System.out.println("文件创建路径:" + configFile);
        System.out.println("文件是否存在:" + configFile.exists());
        System.out.println("文件绝对路径:" + configFile.getAbsolutePath());
        try {
            System.out.println("文件内容:" + FileUtil.readAsString(configFile));
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    
}

需要注意的是这里创建File输入的相对路径名称必须是从src开始一直到文件后缀完整的相对路径,比如代码中的:

src/main/resources/base/mybatis/common/CommonApartmentMapper.xml

不能多了或者少了,比如多了工程名或者少了src等。

下面是执行结果:

文件创建路径:src\main\resources\base\mybatis\common\CommonApartmentMapper.xml
文件是否存在:true
文件绝对路径:E:\codeRep\datacenterRep\datacenter\datacenter-common\src\main\resources\base\mybatis\common\CommonApartmentMapper.xml
文件内容:

如果相对路径不对是不能获取到文件的。
要读取java文件只需要将路径中resources改成java,并且写对类文件的完整路径就可以了,例如:

src/main/java/com/common/CommonApartmentMapper.java

你可能感兴趣的:(Maven项目用Java读取工程中文件的方式(是工程中自己编写的文件,不是部署后到target中的文件))