在Java普通类中获取当前工程根目录

5次阅读

共计 542 个字符,预计需要花费 2 分钟才能阅读完成。

代码如下:

// 当前用户程序所在目录
String userDir = System.getProperties().getProperty("user.dir");        

在 windows 环境下取得的路径是类似这样的:

D:/workspace/sms

因为 Linux 和 windows 的分隔符不同,所以如果想获取具体文件绝地路径,需要这样写,例如获取 WebRoot 下的 sys_param.xls 文件路径:

// 分隔符
String fileSeperator = File.separator;
String templateFilePath = userDir + fileSeperator + "WebRoot" + fileSeperator + "sys_param.xls";

在 windows 环境下取得的路径是类似这样的:

D:/workspace/sms/WebRoot/sys_param.xls

更新:
以上方法只能在本地运行起来,但是在 tomcat 上并不能获取到正确的路径。
应该使用以下方式:

// arg0 是从上面方法传下来的,类型是 ServletContextEvent
String templateFilePath = arg0.getServletContext().getRealPath("sys_param.xls");

正文完
 0