有时候需要直接读取到工程里的文件进行操作,下面贴上一段读取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
文件内容:<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper
。。。。
如果相对路径不对是不能获取到文件的。
要读取java文件只需要将路径中resources改成java,并且写对类文件的完整路径就可以了,例如:
src/main/java/com/common/CommonApartmentMapper.java