获取当前项目的根目录
㈠ 项目在tomcat部署后,如何获取项目的根目录
实现思路就是先获取到类路径,之后再类路径中截取出相应的项目根路径(因为版是知道类和项目的相对位置权的)。
可以通过“ 类名.class.getResource("").getPath()”方法实现获取到当前的路径。
举例:”String path = XMLS.class.getResource("").getPath()“.
解释:以上语句就是获取到XMLS编译后的绝对路径(无法获取到java文件路径的,因为java运行的都是class文件),之后根据实际情况截取任意位置的路径都可以。
㈡ java中类加载路径和项目根路径获取的几种方式
// 第一种:获取类加载的根路径 D:\git\tie\tie\target\classes File f = new File(this.getClass().getResource("/").getPath()); System.out.println(f); // 获取当前类的所在工程路径; 如果不加“/” 获取当前类的加载目录 D:\git\tie\tie\target\classes\my File f2 = new File(this.getClass().getResource("").getPath()); System.out.println(f2); // 第二种:获取项目路径 D:\git\tie\tie File directory = new File("");// 参数为空 String courseFile = directory.getCanonicalPath(); System.out.println(courseFile); // 第三种: file:/D:/git/tie/tie/target/classes/ URL xmlpath = this.getClass().getClassLoader().getResource(""); System.out.println(xmlpath); // 第四种: D:\git\tie\tie System.out.println(System.getProperty("user.dir"));/** 结果: C:\Documents and Settings\Administrator\workspace\projectName * 获取当前工程路径*/// 第五种: 获取所有的类路径 包括jar包的路径
㈢ winform程序获取项目根目录
对于你的问题,我的理解为:你做了一个窗体程序,需要打开一张图片,然后存如你当前执行的文件同级目录下的一个叫img的文件夹里。就是要保存到相对的exe文件同级的img文件夹。而不是写死了的路径。
在vs编写的程序,在debug文件夹里的文件就是你编写好的程序生成后产生的编译文件。可以将debug中的内容拷贝到其他位置去。也就是你做的应用程序了。运行其中的exe文件就可以。
而要保存图片到你说所的根目录下,代码如下:
获取根目录:Application.StartupPath;
以下是代码,亲测可用:
openFileDialog1.Filter = "图片|*.*";
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
Image img = Image.FromFile(openFileDialog1.FileName);
//文件名
string filename = openFileDialog1.FileName.Substring(openFileDialog1.FileName.LastIndexOf("\\") + 1);
//文件保存文件夹路径,此处【 Application.StartupPath 】就是根目录
//string savepath = Application.StartupPath + "\\img\\";
#region 保存路径为项目的根目录,从debug目录往上截取两级文件夹
string rootpath = Application.StartupPath.Substring(0, Application.StartupPath.LastIndexOf("\\"));
rootpath = rootpath.Substring(0, rootpath.LastIndexOf("\\"));
//文件保存文件夹路径
string savepath = rootpath + "\\img\\";
#endregion
//文件保存路径+文件名
string imgSavepath = savepath + filename;
//判断是否存在img文件夹
if (Directory.Exists(savepath))
{
//存在img文件夹
//判断该路径下是否已经存在同名文件
if (File.Exists(imgSavepath))
{
//提示是否覆盖
if (DialogResult.Yes != MessageBox.Show("图片已存在!", "该图片已存在,是否覆盖原图片?", MessageBoxButtons.YesNo))
{
//点击【否】,返回,取消操作。
return;
}
}
}
else
{
//不存在,在根目录下创建img文件夹
Directory.CreateDirectory(savepath);
}
try
{
Image im = img;
Bitmap bit = new Bitmap(im);
bit.Save(imgSavepath, System.Drawing.Imaging.ImageFormat.Bmp);
MessageBox.Show("图片保存成功!");
}
catch{}
㈣ java windows和linux获取项目根目录的方法一致吗
java有个特性是跨平台性,所以其获取项目根目录的方法是一样的。
request.getContextPath()方法就是是得到专项目的名字,如果项目为根属目录,则得到一个"",即空的字条串。如果项目为abc,<%=request.getContextPath()%> 将得到abc,服务器端的路径则会自动加上,<a href="XXXX.jsp"> 是指当前路径下的这个xxx.jsp页面,有时候也可以在head里设置html:base来解决路径的问题,不多用的最多的还是request.getContextPath。
㈤ html页面中怎么获取项目根目录,及引入js和css
<script src="../../../../../scripts/***.js></script>
除了如上边那种用多个父路径外还有没有别的方法直接获取项目跟路径。获取项目根目录
在jsp里去<%=request.getContextPath()%>这就是项目的根路径了,是到项目这层的。
js的引入方法如下:
<script src="<%=request.getContextPath() %> /home/test.js"></script>
css的引入方法:
<link href="<%=request.getContextPath() %>/css/one.css" rel="stylesheet" type="text/css">。/js获取项目根路径,如: http://localhost:8080/ems
getRootPath:function () {
//获取当前网址,如: http://localhost:8080/ems/Pages/Basic/Person.jsp
var curWwwPath = window.document.location.href;
//获取主机地址之后的目录,如: /ems/Pages/Basic/Person.jsp
var pathName = window.document.location.pathname;
var pos = curWwwPath.indexOf(pathName);
//获取主机地址,如: http://localhost:8080
var localhostPath = curWwwPath.substring(0, pos);
//获取带"/"的项目名,如:/ems
var projectName = pathName.substring(0, pathName.substr(1).indexOf('/') + 1);
return(localhostPath + projectName);
㈥ 在一个线程类里如何获得当前线程所在工程的根目录
DWORD GetCurrentDirectory(
DWORD nBufferLength, // size, in characters, of directory buffer
LPTSTR lpBuffer // pointer to buffer for current directory
);
再用stroke函数取得第一个 '\' 之前的即为根目录
㈦ html页面中怎么获取项目根目录和引入js和css
<script src="../../../../../scripts/***.js></script>
除了如上边那种用多个父路径外还有没有别的方法直接获取项目跟路径。获取项目根目录
在jsp里去<%=request.getContextPath()%>这就是项目的根路径了,是到项目这层的。
js的引入方法如下:
<script src="<%=request.getContextPath() %> /home/test.js"></script>
css的引入方法:
<link href="<%=request.getContextPath() %>/css/one.css" rel="stylesheet" type="text/css">。/js获取项目根路径,如: http://localhost:8080/ems
getRootPath:function () {
//获取当前网址,如: http://localhost:8080/ems/Pages/Basic/Person.jsp
var curWwwPath = window.document.location.href;
//获取主机地址之后的目录,如: /ems/Pages/Basic/Person.jsp
var pathName = window.document.location.pathname;
var pos = curWwwPath.indexOf(pathName);
//获取主机地址,如: http://localhost:8080
var localhostPath = curWwwPath.substring(0, pos);
//获取带"/"的项目名,如:/ems
var projectName = pathName.substring(0, pathName.substr(1).indexOf('/') + 1);
return(localhostPath + projectName);
㈧ 在WEB项目中如何获得根目录
Do you mean the project root Name?if so:
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
//out.print(basePath); //test
And this is automatic by MyEclipse
㈨ 通过java获取当前项目路径
getClass().getResource() 方法获得相对路径( 此方法在jar包中无效。返回的内容最后包含/)
例如 项目在/D:/workspace/MainStream/Test
在javaProject中,getClass().getResource("/").getFile().toString() 返回:/D:/workspace/MainStream/Test/bin/
publicStringgetCurrentPath(){
//取得根目录路径
StringrootPath=getClass().getResource("/").getFile().toString();
//当前目录路径
StringcurrentPath1=getClass().getResource(".").getFile().toString();
StringcurrentPath2=getClass().getResource("").getFile().toString();
//当前目录的上级目录路径
StringparentPath=getClass().getResource("../").getFile().toString();
returnrootPath;
}
㈩ java 怎么获取web根目录
以工程名为TEST为例:
(1)得到包含工程名的当前页面全路径:request.getRequestURI()
结果:/TEST/test.jsp
(2)得到工程名:request.getContextPath()
结果:/TEST
(3)得到当前页面所在目录下全名称:request.getServletPath()
结果:如果页面在jsp目录下 /TEST/jsp/test.jsp
(4)得到页面所在服务器的全路径:application.getRealPath("页面.jsp")
结果:D:/resin/webapps/TEST/test.jsp
(5)得到页面所在服务器的绝对路径:absPath=new java.io.File(application.getRealPath(request.getRequestURI())).getParent();
结果:D:/resin/webapps/TEST
2.在类中取得路径:
(1)类的绝对路径:String u=Class.class.getClass().getResource("/").getPath()
结果:/D:/TEST/WebRoot/WEB-INF/classes/pack/
(2)得到工程的路径:System.getProperty("user.dir")
结果:D:/TEST
3.在Servlet中取得路径:
(1)得到工程目录:request.getSession().getServletContext().getRealPath("") 参数可具体到包名。
结果:E:/Tomcat/webapps/TEST
(2)得到IE地址栏地址:request.getRequestURL()
结果:http://localhost:8080/TEST/test
(3)得到相对地址:request.getRequestURI()
结果:/TEST/test