Java 获取webapp,Root,classpath,项目等路径工具类
public class UtilPath {
public static void main(String[] args) {
String systemName = System.getProperty("os.name");
System.out.println(getProjectPath());
}
/**
* 获取到classes目录
* @return path
*/
public static String getClassPath(){
String systemName = System.getProperty("os.name");
//判断当前环境,如果是Windows 要截取路径的第一个 '/'
if(!StringUtils.isBlank(systemName) && systemName.indexOf("Windows") !=-1){
return UtilPath.class.getResource("/").getFile().toString().substring(1);
}else{
return UtilPath.class.getResource("/").getFile().toString();
}
}
/**
* 获取当前对象的路径
* @param object
* @return path
*/
public static String getObjectPath(Object object){
return object.getClass().getResource(".").getFile().toString();
}
/**
* 获取到项目的路径
* @return path
*/
public static String getProjectPath(){
return System.getProperty("user.dir");
}
/**
* 获取 root目录
* @return path
*/
public static String getRootPath(){
return getWEB_INF().replace("WEB-INF/", "");
}
/**
* 获取输出HTML目录
* @return
*/
public static String getHTMLPath(){
return getFreePath() + "html/html/";
}
/**
* 获取输出FTL目录
* @return
*/
public static String getFTLPath(){
return getFreePath() + "html/ftl/";
}
/**
* 获取 web-inf目录
* @return path
*/
public static String getWEB_INF(){
return getClassPath().replace("classes/", "");
}
/**
* 获取模版文件夹路径
* @return path
*/
public static String getFreePath(){
return getWEB_INF() + "ftl/";
}
/**
* 文本换行,因为Linux 和 Windows 的换行符不一样
* @return
*/
public static String nextLine(){
String nextLine = System.getProperty("line.separator");
return nextLine;
}
/**
* 获取images 路径
* @return
*/
public static String getImages(){
return getRootPath() + "images/" ;
}
/**
* 获取sitemap 路径
* @return
*/
public static String getSiteMapPath(){
return getRootPath() + "txt/sitemap" ;
}
/**
* 获取Txt 路径
* @return
*/
public static String getTxt(){
return getRootPath() + "txt" ;
}
}
相关文章
- java虚拟机学习-慢慢琢磨JVM(2)
- java中的堆、栈和方法区
- java项目添加log4j打印日志+转换系统时间
- 使用jvisualvm.exe工具查看java项目内存溢出(堆溢出)--制造内存溢出
- 【JAVA】抽象类的用途与实例(逐步更新中!)
- Java中8个顶级开源NoSQL数据库!
- FAQ:Springboot项目运行过程中java.lang.NoClassDefFoundError: ch/qos/logback/classic/spi/ThrowableProxy
- Java项目实战——瑞吉外卖Day02
- Java的当中的泛型
- 第十九节:Java基本数据类型,循环结构与分支循环
- JAVA-SpringMVC基于注解模式第一个应用
- 《21天学通Java(第7版)》—— 1.2 面向对象编程
- 基于Java实现的ping项目【100010686】
- 【Java并发编程】并发编程大合集-值得收藏
- flink 项目打包成jar包使用java -jar运行异常
- 老板居然让我在Java项目中“造假”
- 【Java项目】瑞吉外卖保姆级学习笔记(改项目名称+改邮件验证码登录+功能补充)
- 【华为OD机试真题 java、python、c++】机房布局(100%通过+复盘思路)
- Amoeba是一个类似MySQL Proxy的分布式数据库中间代理层软件,是由陈思儒开发的一个开源的java项目
- 6个Java项目UML反向工程工具
- 阿里云部署Java web项目初体验
- Java学习笔记-No1-2021-2-19
- IDEA从零到精通(20)之启动Springboot项目出现java.lang.UnsupportedClassVersionError错误
- Java IDEA 如何找到是哪个程序删除了项目 监听文件夹删除 查看文件夹操作记录
- Java实现自定义注解
- Idea创建/导入/移除Java项目
- IDEA上Java项目控制台中文乱码