获取tomcat下java项目根目录路径
String nodepath = this.getClass().getClassLoader().getResource("/").getPath();
// 项目的根目录路径(项目部署在哪里就获取哪里的绝对路径项目的根目录)
String filePath = nodepath.substring(1, nodepath.length() - 16);
关于web工程中java类如何获取webapp路径下的文件
第一步: 先获得classpath路径bai
String classpath = this.getClass().getResource("/").getPath().replaceFirst("/", "");
这样子可以得到classpath路径,类似于:
F:/projects/JavaStudyParent/study-springmvc-junit-test/target/springmvc-junit-test/WEB-INF/classes/
然后把WEB-INF/classes截取就能bai获得WebAPP目录啦:
String webappRoot = classpath.replaceAll("WEB-INF/classes/", "");
得到的bai结果就是:
F:/projects/JavaStudyParent/study-springmvc-junit-test/target/springmvc-junit-test/
通过这个路径你就能获取该文件夹下的所有文件啦
Spring项目读取resource下的文件
注意:resource目录有src下和test下的,使用ClassPathResource读取,读取顺序是先src,后test;注意名称,而且文件命名不要以数字开头。
思路:使用ClassPathResource类或者工具类ResourceUtil,两者都是Spring的类
核心代码:
// ClassPathResource类的构造方法接收路径名称,自动去classpath路径下找文件
ClassPathResource classPathResource = new ClassPathResource("test.txt");
// 获得File对象,当然也可以获取输入流对象
File file = classPathResource.getFile();