在java專案中通過相對路徑獲取資源的方式

2021-07-09 12:41:57 字數 1588 閱讀 6590

1.可以通過 類名.class.getresource方法獲取或者getsystemresource

2.可以通過當前執行緒 thread.currentthread().getcontextclassloader().getresource獲取

public class testdemo

file realpath=new file(file,"db.properties");

if(!realpath.exists())

//寫入properties檔案

pro.store(new fileoutputstream(realpath), "properties配置");

file xmlpath=new file(file,"db.xml");

if(!xmlpath.exists())

//寫入xml檔案中

pro.storetoxml(new fileoutputstream(xmlpath), "xml配置");

//載入配置檔案

properties pro1=new properties();

// pro1.load(testdemo.class.getclassloader().getresourceasstream("test/db.properties"));

//獲取檔案的相對路徑

//1.可以通過 類名。class.getresource方法獲取或者getsystemresource

//2.可以通過當前執行緒 thread.currentthread().getcontextclassloader()。getresource獲取

pro1.load(thread.currentthread().getcontextclassloader().getresourceasstream("test/db.properties"));

system.out.println(testdemo.class.getresource("/test/db.properties"));

system.out.println(thread.currentthread().getcontextclassloader().getresource("test/db.properties"));

"test/db.properties"));

system.out.println(test.getclass().getclassloader().getresourceasstream("test/db.properties"));

system.out.println(testdemo.class.getresource("/"));//斜槓代表從根路徑 開始

system.out.println(testdemo.class.getresource(""));//空格代表當前類的相對路徑開始

system.out.println(thread.currentthread().getcontextclassloader().getresource(""));//空格代表從根路徑開始

string str= pro1.getproperty("password", "沒找到");

system.out.println(str);}

}

java專案中的絕對路徑和相對路徑

絕對路徑 不可改變的路徑 本地絕對路徑 增加碟符的路徑 e test test.html 相對路徑 可以改變的路徑,但是以基準路徑為參考,查詢其他路徑 預設情況下,相對路徑的基準路徑是以當前資源的訪問路徑為基準 在專案中引入資源檔案路徑以斜槓開頭,表示的特殊的相對路徑,在不同的場景中,相對的位置會發...

Visual Studio 專案中相對路徑的設定

在vs的工程中常常要設定標頭檔案的包含路徑,當然可以使用絕對路徑,但是如果這樣設定了只能在你自己的機器上執行該工程 如果其他人拷貝你的工程到其他機器上就可能無法執行,這個是因為比如在建工程時可能把工程放在了d 盤,但是其他人可能會把工程放在其他根目錄下,這樣會導致找不到標頭檔案問題。其實相對路徑就是...

web專案中相對路徑與絕對路徑

專案打包後,目錄如下,部署到伺服器上就可以通過伺服器來訪問專案了。web inf下面的檔案通過瀏覽器是不可以直接訪問的。web專案目錄下的相對路徑與絕對路徑的問題。在web專案中 伺服器端 表示的是乙個web伺服器端的應用的根目錄,http 機器ip 8080 web應用 就是web應用的根目錄。當...