當前位置:首頁 » 編程語言 » java包路徑

java包路徑

發布時間: 2022-07-08 19:36:31

java中如何獲取一個jar包的路徑

獲取jar包的路徑的方法:
xxxxx.class.getProtectionDomain().getCodeSource().getLocation()
其中xxxxx是類名

㈡ java工程里頭直接建的包路徑和在src下建的包路徑有什麼區別

------解決方案-------------------------------------------------------- 你直接建的包路徑,會默認到src 根目錄下,就是這樣子,不然的話編譯文件不放在bin 下 放在哪裡呢??如果是web 項目就在 WEB-INF 的classes 下面。 ------解決方案-------------------------------------------------------- .java 的文件在src 文件夾,編譯過後的.class 文件在bin 文件夾 ------解決方案-------------------------------------------------------- ------解決方案-------------------------------------------------------- 放哪都可以 隨便可以放

㈢ 怎麼找到自己的java安裝路徑

Windows下查看方法:

1、win鍵 +R 進入運行命令窗口。

Linux下查看方法:

[root@localhost ~]# echo $JAVA_HOME

(3)java包路徑擴展閱讀:

Java是一門面向對象編程語言,不僅吸收了C++語言的各種優點,還摒棄了C++里難以理解的多繼承、指針等概念,因此Java語言具有功能強大和簡單易用兩個特徵。Java語言作為靜態面向對象編程語言的代表,極好地實現了面向對象理論,允許程序員以優雅的思維方式進行復雜的編程。

Java具有簡單性、面向對象、分布式、健壯性、安全性、平台獨立與可移植性、多線程、動態性等特點[。

Java可以編寫桌面應用程序、Web應用程序、分布式系統和嵌入式系統應用程序等

㈣ 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)

Foo.class.getPackage().getName()

㈥ 如何查找java路徑

1、要解決問題之前,我們需要下載java這個軟體,在瀏覽器上搜索,記住下載的具體位置,方便下一步的操作。

㈦ 關於Java打包路徑問題

動態載入配置文件信息,你可以寫一個以.properties為擴展名的文件,裡面存放key=value的,
讀key,自然獲取value了,java中有Properties類,專門讀取這個文件的,你上述代碼就是說載入那個文件獲取流,然後再用我說的類操作。
比如你的文件叫conf.properties,那路徑就寫
this.getClass.getRecourceAs Stream("/conf.properties");
該配置文件放到源文件夾下(通常src),不論是web項目還是java項目

㈧ java包路徑的問題

System.out.println(System.getProperty("user.dir"));

System.getProperty("user.dir")可以得到當前的項目根路徑,你試試看,應該可以的

從這里再推算相對路徑,下面可以得到上一級目錄的路徑
String dir=System.getProperty("user.dir");
int index=dir.lastIndexOf("\\");
dir=dir.substring(0, index);
System.out.println(dir);
放心,我試過了
你要的路徑應該是System.getProperty("user.dir")+"/com/b"

㈨ java類路徑到底指的是什麼

類路徑是該類所在的地址,也就是該類所在位置的包名,也叫完整類名。因為包的特性,Java允許在不同包中存在名稱一樣的類,如果不指明路徑的話,編譯器就無法找到正確的類,所以必須指明路徑

熱點內容
墨泥加密鎖 發布:2025-03-12 02:15:40 瀏覽:340
我的世界網易開局就32k的伺服器 發布:2025-03-12 02:07:42 瀏覽:695
怎麼用電腦搭建免費伺服器 發布:2025-03-12 02:01:43 瀏覽:612
mysql存儲過程和函數 發布:2025-03-12 01:56:36 瀏覽:188
srt流媒體伺服器搭建 發布:2025-03-12 01:55:37 瀏覽:547
如何查找ftp電影下載資源 發布:2025-03-12 01:37:37 瀏覽:387
一加保存的密碼在哪裡 發布:2025-03-12 01:13:06 瀏覽:90
微信第三方平台源碼 發布:2025-03-12 01:12:21 瀏覽:782
伺服器關閉怎麼補償 發布:2025-03-12 01:01:26 瀏覽:335
c語言復數的四則運算 發布:2025-03-12 01:01:22 瀏覽:804