獲取當前項目的根目錄
㈠ 項目在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