通过java获取当前项目路径

比如项目名称TEST,想要获取项目路径D:/workspace/TEST,只要求到项目名称,多余的不需要... 比如项目名称TEST,想要获取项目路径D:/workspace/TEST,只要求到项目名称,多余的不需要 展开
 我来答
xhpdmc
推荐于2017-11-25 · TA获得超过454个赞
知道小有建树答主
回答量:255
采纳率:0%
帮助的人:208万
展开全部

getClass().getResource() 方法获得相对路径( 此方法在jar包中无效。返回的内容最后包含/)

例如 项目在/D:/workspace/MainStream/Test

在javaProject中,getClass().getResource("/").getFile().toString() 返回:/D:/workspace/MainStream/Test/bin/

public String getCurrentPath(){  
       //取得根目录路径  
       String rootPath=getClass().getResource("/").getFile().toString();  
       //当前目录路径  
       String currentPath1=getClass().getResource(".").getFile().toString();  
       String currentPath2=getClass().getResource("").getFile().toString();  
       //当前目录的上级目录路径  
       String parentPath=getClass().getResource("../").getFile().toString();  
         
       return rootPath;         
  
   }

参考资料:http://blog.csdn.net/hpf911/article/details/5852127

8D7798CE4E86
2013-12-18
知道答主
回答量:29
采纳率:0%
帮助的人:21.8万
展开全部
File file = new File("test");
String path = file.getAbsolutePath();
System.out.println(path.substring(0, path.lastIndexOf(File.separator)));
file.delete();
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
知识慧
2018-07-04 · TA获得超过4526个赞
知道答主
回答量:0
采纳率:50%
帮助的人:0
展开全部
package application.util;/*** * 获取项目根路径工具类 * */
public class PathUtil {
/**如果没打包后运行则debug为true*/
public static boolean debug = false;
/**项目所在路径*/
public static final String projectPath = initProjectPathAndDebug();
/*** * 获取项目根路径,无论是打包成jar文件。 * 为了保证调试时获取项目路径,而不是bin路径,增加逻辑: 如果以bin目录接,则返回上一层目录 * 例如:F:\eclipseworkJavaFX\PersonalAssistant 后面的bin目录会去掉 * @return 例如:F:\eclipseworkJavaFX\AddressApp\build\dist */
private static String initProjectPathAndDebug(){ java.net.URL url = PathUtil.class.getProtectionDomain().getCodeSource().getLocation();
String filePath = null;
try { filePath = java.net.URLDecoder.decode(url.getPath(), "utf-8");
} catch (Exception e) { e.printStackTrace();
} if (filePath.endsWith(".jar"))
{ filePath = filePath.substring(0, filePath.lastIndexOf("/") + 1);
} //如果以bin目录接,则说明是开发过程debug测试查询,返回上一层目录
if (filePath.endsWith("bin/") || filePath.endsWith("bin\\") )
{ debug = true; filePath = filePath.substring(0, filePath.lastIndexOf("bin")); } java.io.File file = new java.io.File(filePath);
filePath = file.getAbsolutePath(); return filePath;
}
/*** * 这个方法打包位jar文件就无法获取项目路径了。 * @return */
public static String getRealPath() { String realPath = PathUtil.class.getClassLoader().getResource("").getFile(); java.io.File file = new java.io.File(realPath); realPath = file.getAbsolutePath();//去掉了最前面的斜杠/
try { realPath = java.net.URLDecoder.decode(realPath, "utf-8");
} catch (Exception e)
{ e.printStackTrace(); } return realPath; }
public static void main(String[] args) { System.out.println(projectPath); }}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hujiang1225
2013-12-18 · TA获得超过429个赞
知道小有建树答主
回答量:403
采纳率:0%
帮助的人:125万
展开全部
xx.class.getProtectionDomain().getCodeSource().getLocation().getPath();
获取 xx这个类文件的绝对路径去看看吧 剩下的就自己取解析吧
request.getContextPath(); 能直接获取
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友fdbbb3d
2013-12-18
知道答主
回答量:31
采纳率:0%
帮助的人:12.4万
展开全部
String path = "D:/workspace/TEST";
String name = path.substring(path.LastIndexOf ('/'),path.length());
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式