當前位置:首頁 » 編程語言 » javasrc的路徑

javasrc的路徑

發布時間: 2022-11-27 18:05:28

java src 文件路徑怎麼寫

在web-inf下,獲取路徑估計只能通過物理路徑來弄

如果你放在webroot下的話,可以通過域名(localhost)加文件夾、文件名之類的

⑵ 為什麼Java文件要在src目錄下

不一定啊,src目錄只是java默認的源文件路徑,用eclipse或myeclipse,編譯器可以自動進行編譯,你可以把src目錄幹掉,自己再建個源文件路徑就可以了。

⑶ java web 中src路徑和webroot路徑問題

如果是在項目里,比如你在eclipse里的話那就是用src里的,如果你把項目放到伺服器上運行,那就是webroot里的

⑷ java項目根目錄和類路徑問題

java獲取src目錄下文件夾的相對路徑問題如下:

目錄結構:

project

out

src

read.java

test.txt

files

opts

項目為priject
out目錄為.class輸出目錄
src下為文件目錄
src下有兩個包,files、opts

想通過相對路徑獲取test.txt的路徑

但是用反射只能獲取到.class,也就是out里的路徑

輸出後的目錄不就是在out裡面了,那個裡面的和src裡面的文件是一樣的, getClass().getResource()就可以得到classpath了啊

看看設置的資源文件編譯路徑

⑸ java讀取根目錄為什麼到了src下

src目錄只是java默認的源文件路徑,可以自行按照需求進行修改調整。編譯器可以自動進行編譯。

⑹ java 獲取src下的文件路徑怎麼寫

java工程還是web工程?
java的話/src/就可以了啊
web的話,可以使用request.getServletContext().getRealPath("當前就是src下,這里可以寫以後的路徑");

⑺ java項目中文件的路徑

java項目中文件的路徑-方法大全

一、 相對路徑的獲得

說明:相對路徑(即不寫明時候到底相對誰)均可通過以下方式獲得(不論是一般的java項目還是web項目)

System.getProperty("user.dir");

上述相對路徑中,java項目中的文件是相對於項目的根目錄web項目中的文件路徑視不同的web伺服器不同而不同(tomcat是相對於tomcat安裝目錄in)

二 類載入目錄的獲得(即當運行時某一類時獲得其裝載目錄)
1.1)通用的方法一(不論是一般的java項目還是web項目,先定位到能看到包路徑的第一級目錄)

InputStreamis=TestAction.class.getClassLoader().getResourceAsStream("test.txt");(test.txt文件的路徑為 項目名src est.txt;類TestPath所在包的第一級目錄位於src目錄下)

三 web項目根目錄的獲得(發布之後)
1 從servlet出發

可建立一個servlet在其的init方法中寫入如下語句(沒有請求的話會拋空指針導常)

ServletContext s1=this.getServletContext();
String temp=s1.getRealPath("/"); (關鍵)
結果形如:F: omcat-6.0.36webapps est(test為項目名字)

如果是調用了s1.getRealPath("")則輸出F: omcat-6.0.36webapps est(少了一個"")

2 從httpServletRequest出發(沒有請求的話會拋空指針導常)

String path=request.getSession().getServletContext().getRealPath("/");

結果形如:F: omcat-6.0.36webapps est

四 classpath的獲取(在Eclipse中為獲得src或者classes目錄的路徑),放在監聽器,可以窗口啟動獲取路徑

方法一Thread.currentThread().getContextClassLoader().getResource("").getPath()

String path = Thread.currentThread().getContextClassLoader()

.getResource("").getPath();

System.out.println("path========"+ path);輸出:path========/F:/tomcat-6.0.36/webapps/test/WEB-INF/classes/


方法二JdomParse.class.getClassLoader().getResource("").getPath()(JdomParse為src某一個包中的類,下同)

eg:String p1=JdomParse.class.getClassLoader().getResource("").getPath();
System.out.println("JdomParse.class.getClassLoader().getResource--"+p1);

輸出:JdomParse.class.getClassLoader().getResource-/F:/tomcat-6.0.36/webapps/test/WEB-INF/classes/

另外,如果想把文件放在某一包中,則可以 通過以下方式獲得到文件(先定位到該包的最後一級目錄)

eg String p2=JdomParse.class.getResource("").getPath();
System.out.println("JdomParse.class.getResource---"+p2);

輸出:JdomParse.class.getResource--/F:/tomcat-6.0.36/webapps/test/WEB-INF/classes/

(JdomParse為src目錄下jdom包中的類)

四 屬性文件的讀取:

方法 一

InputStream in = lnewBufferedInputStream(newFileInputStream(name));

Properties p =newProperties();p.load(in);

注意路徑的問題,做執行之後就可以調用p.getProperty("name")得到對應屬性的值

方法二

Locale locale =Locale.getDefault();
ResourceBundle localResource = ResourceBundle.getBundle("test/propertiesTest",locale);
String value = localResource.getString("test");
System.out.println("ResourceBundle: " + value);

工程src目錄下propertiesTest.properties(名字後綴必須為properties)文件內容如下:

test=hello word

不通過Servlet獲取路徑

第一種實現

Java代碼

URL url = ClassLoader.getSystemClassLoader().getResource("./");

File file =newFile(url.getPath());

File parentFile =newFile(file.getParent());

System.out.println("webRoot:"+parentFile.getParent());

第二種實現
首先寫一個接聽類 (推薦使用,容器啟動時就執行,不會拋空指針異常,適合做定時器任務來刪除伺服器文件的路徑)

Java代碼:

package com.chinacreator.report.listener;

import javax.servlet.ServletContext;

import javax.servlet.ServletContextEvent;

import javax.servlet.ServletContextListener;

/**

* @authorxiaoqun.yi

*/

public class PathListener {

private staticServletContext servletContext;

public voidcontextDestroyed(ServletContextEvent sce) {

this.servletContext= sce.getServletContext();

System.out.println("path=======:"+servletContext.getRealPath("/"));

}

public voidcontextInitialized(ServletContextEvent arg0) {

}

}


在web.xml中加入如下配置

Java代碼 :

<listener>

<listener-class>com.chinacreator.report.listener.PathListener</listener-class>

</listener>

五、Java中的getResourceAsStream有以下幾種:
1. Class.getResourceAsStream(String path) : path 不以』/'開頭時默認是從此類所在的包下取資源,以』/'開頭則是從ClassPath根下獲取。其只是通過path構造一個絕對路徑,最終還是由 ClassLoader(類載入器)(獲取資源)

2. Class.getClassLoader.getResourceAsStream(String path) :默認則是從ClassPath根下獲取,path不能以』/'開頭,最終是由ClassLoader獲取資源。

3. ServletContext. getResourceAsStream(String path):默認從WebAPP根目錄下取資源,Tomcat下path是否以』/'開頭無所謂,當然這和具體的容器實現有關。

4. Jsp下的application內置對象就是上面的ServletContext的一種實現。

其次,getResourceAsStream 用法大致有以下幾種:

第一: 要載入的文件和.class文件在同一目錄下,例如:com.x.y 下有類me.class ,同時有資源文件myfile.xml

那麼,應該有如下代碼:

me.class.getResourceAsStream("myfile.xml");

第二:在me.class目錄的子目錄下,例如:com.x.y 下有類me.class ,同時在 com.x.y.file 目錄下有資源文件myfile.xml

那麼,應該有如下代碼:

me.class.getResourceAsStream("file/myfile.xml");

第三:不在me.class目錄下,也不在子目錄下,例如:com.x.y 下有類me.class ,同時在 com.x.file 目錄下有資源文件myfile.xml

那麼,應該有如下代碼:

me.class.getResourceAsStream("/com/x/file/myfile.xml");

總結一下,可能只是兩種寫法

第一:前面有 「 / 」

「 / 」代表了工程的根目錄,例如工程名叫做myproject,「 / 」代表了myproject

me.class.getResourceAsStream("/com/x/file/myfile.xml");

第二:前面沒有 「 / 」

代表當前類的目錄

me.class.getResourceAsStream("myfile.xml");

me.class.getResourceAsStream("file/myfile.xml");

⑻ java 的路徑問題我在src目錄下新建兩個平級包 一個放JAVA類一個放文件 我想在java

假設src下有web.Util包,則訪問該包下的文件,路徑可以這樣寫
String file = "web/Util/db.properties";
再不會你可以右擊文件,看路徑

⑼ 在java中怎麼獲取頁面的路徑

這裡面我把se跟ee方面獲取路徑的給你列舉出來了,希望對你有用
Java中使用的路徑,分為兩種:絕對路徑和相對路徑。歸根結底,Java本質上只能使用絕對路徑來尋找資源。所有的相對路徑尋找資源的方法,都不過是一些便利方法。不過是API在底層幫助我們構建了絕對路徑,從而找到資源的!

在開發Web方面的應用時, 經常需要獲取伺服器中當前WebRoot的物理路徑。

如果是Servlet , Action , Controller, 或者Filter , Listener , 攔截器等相關類時, 我們只需要獲得ServletContext, 然後通過ServletContext.getRealPath("/")來獲取當前應用在伺服器上的物理地址。

如果在類中取不到ServletContext時,有兩種方式可以做到:

1)利用Java的類載入機制:調用 XXX.class.getClassLoader().getResource(""); 方法來獲取到ClassPath , 然後處理獲得WebRoot目錄。
這種方式只能是該class在WebRoot/WEB-INF/classes下才能生效, 如果該class被打包到一個jar文件中, 則該方法失效。這時就應該用下面一種方式。

2)spring框架的思路,在WEB-INF/web.xml中,創建一個webAppRootKey的param,指定一個值(默認為webapp.root)作為鍵值,然後通過Listener, 或者Filter,或者Servlet 執行String webAppRootKey = getServletContext().getRealPath("/"); 並將webAppRootKey對應的webapp.root 分別作為Key,Value寫到System Properties系統屬性中。之後在程序中通過System.getProperty("webapp.root")來獲得WebRoot的物理路徑。

根據第二種的思路,我們還可以再擴展一下。不過對於在部署在一台伺服器中的應用來說,若還不是你所需請再往下看。

下面是一些得到classpath和當前類的絕對路徑的一些方法。你可使用其中的一些方法來得到你需要的資源的絕對路徑:

1.DebitNoteAction.class.getResource("")
得到的是當前類FileTest.class文件的URI目錄。不包括自己!
如:file:/D:/eclipse/springTest/WebRoot/WEB-INF/classes/
atacarnet/src/com/evi/moles/atacarnet/action/

2.DebitNoteAction.class.getResource("/")
得到的是當前的classpath的絕對URI路徑。
如:file:/D:/eclipse/springTest/WebRoot/WEB-INF/classes/

3.Thread.currentThread().getContextClassLoader().getResource("")
得到的也是當前ClassPath的絕對URI路徑
如:file:/D:/eclipse/springTest/WebRoot/WEB-INF/classes/
推薦使用該方法獲取。

4.DebitNoteAction.class.getClassLoader().getResource("") 或ClassLoader.getSystemResource("")
得到的也是當前ClassPath的絕對URI路徑。
如:file:/D:/eclipse/springTest/WebRoot/WEB-INF/classes/

5.取得伺服器相對路徑
System.getProperty("user.dir")
例如:E:\apache-tomcat-5.5.16\apache-tomcat-5.5.16\bin

6.取得項目中的絕對路徑
一般用request.getRealPath("/")或request.getRealPath("/config/")

但現在不提倡使用request.getRealPath("/")了,大家可試用ServletContext.getRealPath("/")方法得到Web應用程序的根目錄的絕對路徑。

要取得src的文件非常容易,因為src是默認的相對目錄,比如你說要取得src下com目錄的test.java文件,你只需要這樣就夠了
File f = new File(com/test.java);

但如果我要取得不在src目錄或者WebRoot目錄下的文件呢,而是要從src或者WebRoot同級的目錄中取呢,比如說doc吧。
我的硬方法是這樣實現的:
String path = this.getServletContext().getRealPath("/");
Properties p = new Properties();
p.load(new FileInputStream(new File(path.substring(0,(path.lastIndexOf("\\WebRoot") + 1)) + "doc/db.properties")));
System.out.println(p.getProperty("driverName"));
-------------------------------
另:Request中getContextPath、getServletPath、getRequestURI、getRequestURL、getRealPath的區別

假定你的web application 名稱為news,你在瀏覽器中輸入請求路徑:http://localhost:8080/news/main/list.jsp

則執行下面向行代碼後列印出如下結果:

1、 System.out.println(request.getContextPath());
列印結果:/news

2、System.out.println(request.getServletPath());
列印結果:/main/list.jsp

3、 System.out.println(request.getRequestURI());
列印結果:/news/main/list.jsp

4、System.out.println(request.getRequestURL());
列印結果:http://localhost:8080/news/main/list.jsp

5、 System.out.println(request.getRealPath("/"));
列印結果:F:\Tomcat 6.0\webapps\news\test

⑽ java中如何獲得當前項目的雙src文件夾的路徑

在java中獲得文件的路徑在我們做上傳文件操作時是不可避免的。

web 上運行
1:this.getClass().getClassLoader().getResource("/").getPath();
this.getClass().getClassLoader().getResource("").getPath(); 得到的是 ClassPath的絕對URI路徑。
如:/D:/jboss-4.2.2.GA/server/default/deploy/hp.war/WEB-INF/classes/
System.getProperty("user.dir");
this.getClass().getClassLoader().getResource(".").getPath(); 得到的是 項目的絕對路徑。
如:/D:/jboss-4.2.2.GA/server/default/deploy/hp.war

2:this.getClass().getResource("/").getPath();
this.getClass().getResource("").getPath(); 得到的是當前類 文件的URI目錄。
如:/D:/jboss-4.2.2.GA/server/default/deploy/hp.war/WEB-INF/classes/com/jebel/helper/
this.getClass().getResource(".").getPath(); X 不 能運行

3:Thread.currentThread().getContextClassLoader().getResource("/").getPath()
Thread.currentThread().getContextClassLoader().getResource("").getPath() 得到的是 ClassPath的絕對URI路徑。
如:/D:/jboss-4.2.2.GA/server/default/deploy/hp.war/WEB-INF/classes/
Thread.currentThread().getContextClassLoader().getResource(".").getPath() 得到的是 項目的絕對路徑。
如:/D:/jboss-4.2.2.GA/server/default/deploy/hp.war

在本地運行中
1:this.getClass().getClassLoader().getResource("").getPath();
this.getClass().getClassLoader().getResource(".").getPath(); 得到的是 ClassPath的絕對URI路徑。
如:/D:/myProjects/hp/WebRoot/WEB-INF/classes
this.getClass().getClassLoader().getResource(".").getPath(); X 不 能運行
2:this.getClass().getResource("").getPath();
this.getClass().getResource(".").getPath(); 得到的是當前類 文件的URI目錄。
如:/D:/myProjects/hp/WebRoot/WEB-INF/classes/com/jebel/helper/
/D:/myProjects/hp/WebRoot/WEB-INF/classes/ 得到的是 ClassPath的絕對URI路徑。
如:/D:/myProjects/hp/WebRoot/WEB-INF/classes

3:Thread.currentThread().getContextClassLoader().getResource(".").getPath()
Thread.currentThread().getContextClassLoader().getResource("").getPath() 得到的是 ClassPath的絕對URI路徑。。
如:/D:/myProjects/hp/WebRoot/WEB-INF/classes
Thread.currentThread().getContextClassLoader().getResource("/").getPath() X 不 能運行

最後
在Web應用程序中,我們一般通過ServletContext.getRealPath("/")方法得到Web應用程序的根目錄的絕對路徑。
還有request.getContextPath(); 在Weblogic中要用request.getServletContext().getContextPath();但如果打包成war部署到Weblogic伺服器,項目內部並沒有文件結構的概念,用這種方式是始終得到null,獲取不到路徑,目前還沒有找到具體的解決方案。

熱點內容
解壓到當前文件夾右鍵 發布:2024-04-26 03:57:08 瀏覽:979
html5android教程視頻下載 發布:2024-04-26 03:09:59 瀏覽:867
伺服器的描述是什麼 發布:2024-04-26 03:08:32 瀏覽:394
個人加密 發布:2024-04-26 03:01:23 瀏覽:521
linuxusbgadget 發布:2024-04-26 02:52:54 瀏覽:304
我的世界空島世界伺服器地址 發布:2024-04-26 01:39:08 瀏覽:248
尼爾機械紀元加密 發布:2024-04-26 01:37:11 瀏覽:868
在控制台輸出sql語句 發布:2024-04-26 01:08:12 瀏覽:432
動畫java 發布:2024-04-26 01:02:40 瀏覽:12
得力文件夾5302 發布:2024-04-26 00:21:32 瀏覽:91