本文目錄一覽:
- 1、java里絕對路徑和相對路徑的區別是什麼?
- 2、java 怎麼把文件的絕對路徑轉換成相對路徑
- 3、什麼是java的相對路徑和絕對路徑阿 怎麼訪問相對路徑里的文件和絕對路徑里的文件
- 4、java裡面絕對路徑和相對路徑有什麼區別?路徑名和文件名有什麼區別?各位大大,可以簡單的解釋下嗎?
- 5、java絕對路徑和相對路徑的區別
- 6、java如何獲取文件的相對路徑啊?
java里絕對路徑和相對路徑的區別是什麼?
按照jdk Doc上的說法”絕對路徑名是完整的路徑名,不需要任何其他信息就可以定位自身表示的文件。相反,相對路徑名必須使用來自其他路徑名的信息進行解釋。默認情況下,java.io 包中的類總是根據當前用戶目錄來分析相對路徑名。此目錄由系統屬性 user.dir 指定,通常是 Java 虛擬機的調用目錄.”\x0d\x0a \x0d\x0a相對路徑顧名思義,相對於某個路徑,那麼究竟相對於什麼路徑我們必須弄明白.按照上面jdk文檔上講的這個路徑是”當前用戶目錄”也就是”java虛擬機的調用目錄”.更明白的說這個路徑其實是我們在哪裡調用jvm的路徑.舉個例子:\x0d\x0a \x0d\x0a假設有一java源文件Example.java在d盤根目錄下,該文件不含package信息.我們進入命令行窗口,然後使用”d:”命令切換到d盤根目錄下,然後用”javac Example.java”來編譯此文件,編譯無錯後,會在d盤根目錄下自動生成”Example.class”文件.我們在調用”java Example”來運行該程序.此時我們已經啟動了一個jvm,這個jvm是在d盤根目錄下被啟動的,所以此jvm所加載的程序中File類的相對路徑也就是相對這個路徑的,即d盤根目錄:D:/.同時” 當前用戶目錄”也是D:/.在System.getProperty(“user.dir”);系統變量”user.dir”存放的也是這個值.\x0d\x0a我們可以多做幾次試驗,把”Example.class”移動到不同路徑下,同時在那些路徑下,執行”java Example”命令啟動jvm,我們會發現這個”當前用戶目錄”是不斷變化的,它的路徑始終和我們在哪啟動jvm的路徑是一致的.\x0d\x0a搞清了這些,我們可以使用相對路徑來創建文件,例如:\x0d\x0aFile file = new File(“a.txt”);\x0d\x0aFile.createNewFile();\x0d\x0a假設jvm是在”D:/”下啟動的,那麼a.txt就會生成在D:/a.txt;\x0d\x0a此外,這個參數還可以使用一些常用的路徑表示方法,例如”.”或”./”代表當前目錄,這個目錄也就是jvm啟動路徑.所以如下代碼能得到當前目錄完整路徑:\x0d\x0aFile f = new File(“.”);\x0d\x0aString absolutePath = f.getAbsolutePath();\x0d\x0aSystem.out.println(absolutePath);//D:/\x0d\x0a最後要說說在eclipse中的情況:\x0d\x0aEclipse中啟動jvm都是在項目根路徑上啟動的.比如有個項目名為blog,其完整路徑為:D:/work/IDE/workspace/blog.那麼這個路徑就是jvm的啟動路徑了.所以以上代碼如果在eclipse里運行,則輸出結果為” D:/work/IDE/workspace/blog.”\x0d\x0a \x0d\x0aTomcat中的情況.\x0d\x0a如果在tomcat中運行web應用,此時,如果我們在某個類中使用如下代碼:\x0d\x0aFile f = new File(“.”);\x0d\x0aString absolutePath = f.getAbsolutePath();\x0d\x0aSystem.out.println(absolutePath);\x0d\x0a那麼輸出的將是tomcat下的bin目錄.我的機器就是” D:/work/server/jakarta-tomcat-5.0.28/bin/.”,由此可以看出tomcat服務器是在bin目錄下啟動jvm的.其實是在bin目錄下的” catalina.bat”文件中啟動jvm的.
java 怎麼把文件的絕對路徑轉換成相對路徑
服務器中的Java類獲得當前路徑
Weblogic WebApplication的系統文件根目錄是你的weblogic安裝所在根目錄。
例如:如果你的weblogic安裝在c:\bea\weblogic700…… 那麼,你的文件根路徑就是c:\. 所以,有兩種方式能夠讓你訪問你的服務器端的文件:
a.使用絕對路徑: 比如將你的參數文件放在c:\yourconfig\yourconf.properties, 直接使用 new FileInputStream(”yourconfig/yourconf.properties”);
b.使用相對路徑: 相對路徑的根目錄就是你的webapplication的根路徑,即WEB-INF的上一級目錄,將你的參數文件放
在yourwebapp\yourconfig\yourconf.properties, 這樣使用: new
FileInputStream(”./yourconfig/yourconf.properties”); 這兩種方式均可,自己選擇。
(2)。Tomcat 在類中輸出System.getProperty(”user.dir”);顯示的是%Tomcat_Home%/bin
(3)。Resin 不是你的JSP放的相對路徑,是JSP引擎執行這個JSP編譯成SERVLET 的路徑為根。比如用新建文件法測試File f = new File(”a.htm”); 這個a.htm在resin的安裝目錄下
(4)。如何讀相對路徑哪? 在Java文件中getResource或getResourceAsStream均可
例:getClass()。getResourceAsStream(filePath);//filePath可以是”/filename”,這
里的/代表web 發布根路徑下WEB-INF/classes 默認使用該方法的路徑是:WEB-INF/classes.已經在Tomcat中測試。
什麼是java的相對路徑和絕對路徑阿 怎麼訪問相對路徑里的文件和絕對路徑里的文件
1、相對路徑-顧名思義,相對路徑就是相對於當前文件的路徑。網頁中一般表示路徑使用這個方法。
2、絕對路徑-絕對路徑就是你的主頁上的文件或目錄在硬盤上真正的路徑。絕對路徑就是你的主頁上的文件或目錄
“./”:代表目前所在的目錄。
“../”:代表上一層目錄。
以”/”開頭:代表根目錄。
java裡面絕對路徑和相對路徑有什麼區別?路徑名和文件名有什麼區別?各位大大,可以簡單的解釋下嗎?
絕對路徑:從指定分區到目標地點經過的位置,如C:/a/v/c/d/b 這就是絕對路徑。
相對路徑:相對於當前文件所處位置的路徑,如./b 這就是相對路徑。
路徑名:是路徑的名稱,包含了該文件的相對或者絕對路徑,顯示了該文件所處的位置。
文件名:用於標識文件但是和文件屬性無關的字符串。
java絕對路徑和相對路徑的區別
1.基本概念的理解
絕對路徑:絕對路徑就是你的主頁上的文件或目錄在硬盤上真正的路徑,(URL和物理路徑)例如:
C:\xyz\test.txt 代表了test.txt文件的絕對路徑。也代表了一個
URL絕對路徑。
相對路徑:相對與某個基準目錄的路徑。包含Web的相對路徑(HTML中的相對目錄),例如:在
Servlet中,”/”代表Web應用的根目錄。和物理路徑的相對表示,例如:”./” 代表當前目錄,
“../”代表上級目錄。這種類似的表示,也是屬於相對路徑。
java如何獲取文件的相對路徑啊?
一個例子,如果有一個Test文件夾裡面有test.java和hello.txt.如果你想用test.java操作hello.txt
只要在test.java中這樣寫File file=new File(“hello.txt”);//這樣就是相對路徑。如果文件結構是
Test文件夾
… |——test.java
… |——hello.txt
… |——source文件夾
…………….. |———world.txt
如果想在test.java中操作world.txt。只要這樣寫File file=new File(“source/world.txt”);
另外,在web開發中/代表項目文件夾根目錄,當然也有可能代替webapps,區分方法是:如果/開頭的uri是給瀏覽器解析則/代表webapps,如果是給服務器後台解析,則代表項目文件
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/257700.html