欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

java代碼工程絕對(duì)路徑,關(guān)鍵路徑j(luò)ava代碼

Java程序里面絕對(duì)路徑怎么寫(xiě)

絕對(duì)路徑就是有盤(pán)符的這種寫(xiě)法,同理就是F:\\java\\package9\\T903FileTestDemo.java

創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì)、瑞金網(wǎng)絡(luò)推廣、小程序定制開(kāi)發(fā)、瑞金網(wǎng)絡(luò)營(yíng)銷、瑞金企業(yè)策劃、瑞金品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);創(chuàng)新互聯(lián)為所有大學(xué)生創(chuàng)業(yè)者提供瑞金建站搭建服務(wù),24小時(shí)服務(wù)熱線:18980820575,官方網(wǎng)址:chinadenli.net

JAVA中絕對(duì)路徑和目錄有什么區(qū)別?

絕對(duì)路徑:

絕對(duì)路徑就是你的主頁(yè)上的文件或目錄在硬盤(pán)上真正的路徑,(url和物理路徑)例如:

c:\xyz\test.txt

代表了test.txt文件的絕對(duì)路徑。也代表了一個(gè)url絕對(duì)路徑。

相對(duì)路徑:

相對(duì)與某個(gè)基準(zhǔn)目錄的路徑。包含web的相對(duì)路徑(html中的相對(duì)目錄),例如:在

servlet中,"/"代表web應(yīng)用的根目錄。和物理路徑的相對(duì)表示,例如:"./"

代表當(dāng)前目錄,

"../"代表上級(jí)目錄。這種類似的表示,也是屬于相對(duì)路徑。

java中處理絕對(duì)路徑與相對(duì)路徑問(wèn)題

方法(一)、通過(guò)某個(gè)對(duì)象的getClass()方法取得Class,其中包含了類的許多信息。在其中找取得URL之類的方法,以便取得URL,然后調(diào)用URL的getpath()方法,取得字符串并稍作處理就得到該類的Class文件的絕對(duì)路徑,在此基礎(chǔ)上就可以方便的使用相對(duì)路徑。Object.getClass().getResource("/").getPath(); 方法(二) 通過(guò)類加載器獲取路徑信息public abstract class ClassLoader extends Object類加載器是負(fù)責(zé)加載類的對(duì)象。ClassLoader 類是一個(gè)抽象類。如果給定類的二進(jìn)制名稱,那么類加載器會(huì)試圖查找或生成構(gòu)成類定義的數(shù)據(jù)。一般策略是將名稱轉(zhuǎn)換為某個(gè)文件名,然后從文件系統(tǒng)讀取該名稱的“類文件”。 (1) 利用Thread類中的類加載器Thread.currentThread().getContextClassLoader()(2) 利用Class類獲取類加載器ClassName.class(或者 對(duì)象.getClass()).getClassLoader()API中ClassLoader的相關(guān)方法1、public URL getResource(String name)查找具有給定名稱的資源。資源是可以通過(guò)類代碼以與代碼基無(wú)關(guān)的方式訪問(wèn)的一些數(shù)據(jù)(圖像、聲音、文本等)。資源名稱是以 '/' 分隔的標(biāo)識(shí)資源的路徑名稱。 此方法首先搜索資源的父類加載器;如果父類加載器為 null,則搜索的路徑就是虛擬機(jī)的內(nèi)置類加載器的路徑。如果搜索失敗,則此方法將調(diào)用 findResource(String) 來(lái)查找資源。 2、public static URL getSystemResource(String name)從用來(lái)加載類的搜索路徑中查找具有指定名稱的資源。此方法通過(guò)系統(tǒng)類加載器來(lái)查找資源。 方法(三)利用文件來(lái)獲取路徑 File ff=new File("");API中File類相關(guān)的方法:java.io.File 文件和目錄路徑名的抽象表示形式。1、public String getAbsolutePath() 返回此抽象路徑名的絕對(duì)路徑名字符串2、public String getCanonicalPath() throws IOException 返回此抽象路徑名的規(guī)范路徑名字符串。 3、public String getPath() 將此抽象路徑名轉(zhuǎn)換為一個(gè)路徑名字符串。所得字符串使用默認(rèn)名稱分隔符分隔名稱序列中的名稱。4、public boolean isAbsolute()測(cè)試此抽象路徑名是否為絕對(duì)路徑名。絕對(duì)路徑名的定義與系統(tǒng)有關(guān)。在 UNIX 系統(tǒng)上,如果路徑名的前綴是 "/",那么該路徑名是絕對(duì)路徑名。在 Microsoft Windows 系統(tǒng)上,如果路徑名的前綴是后跟 "\\" 的盤(pán)符,或者是 "\\\\",那么該路徑名是絕對(duì)路徑名。 方法(四)利用System類提供信息java.lang.System 包 public final class System extends Object 類 System 類包含一些有用的類字段和方法。它不能被實(shí)例化。在 System 類提供的設(shè)施中,有標(biāo)準(zhǔn)輸入、標(biāo)準(zhǔn)輸出和錯(cuò)誤輸出流;對(duì)外部定義的屬性和環(huán)境變量的訪問(wèn);加載文件和庫(kù)的方法;還有快速?gòu)?fù)制數(shù)組的一部分的實(shí)用方法。方法:public static String getProperty(String key) 獲取指定鍵指示的系統(tǒng)屬性。首先,如果有安全管理器,則用該鍵作為其參數(shù)來(lái)調(diào)用 checkPropertyAccess 方法。結(jié)果可能導(dǎo)致 SecurityException。 如果沒(méi)有當(dāng)前系統(tǒng)屬性的集合,則首先用與 getProperties 方法相同的方式創(chuàng)建并初始化系統(tǒng)屬性的集合。 參數(shù): key - 系統(tǒng)屬性的名稱。返回: 系統(tǒng)屬性的字符串值,如果沒(méi)有帶有此鍵的屬性,則返回 null。 獲取當(dāng)前工作目錄為:System.getProperty("user.dir") // 方法一,利用Class的getResource方法類獲取信息(實(shí)際上該方法委托ClassLoader類實(shí)現(xiàn)) url= absp.getClass().getResource("/AbsPath.class"); path = url.getPath(); System.out.println("方法一:\nURL is : " + url); System.out.println("get Path is : " + path); System.out.println("Real Path is : " + path.substring(1)+"\n"); // 方法二,利用ClassLoader類獲取信息 ClassLoader loader=Thread.currentThread().getContextClassLoader(); //或者 //loader = AbsPath.class.getClassLoader(); url=loader.getResource(""); path=url.getPath(); System.out.println("方法二:\nURL is : " + url); System.out.println("get Path is : " + path); System.out.println("Real Path is : " + path.substring(1)); System.out.println(ClassLoader.getSystemResource("")+"\n"); // 方法三,利用文件來(lái)處理 File ff=new File(""); System.out.println("方法三:\n"+ff.getAbsolutePath()); System.out.println(ff.getCanonicalPath()); System.out.println(ff.isAbsolute()+ff.getPath()+"\n"); //方法四,利用System類相關(guān)信息 System.out.println("方法四:\n"+System.getProperty("user.home"));//用戶主目錄 System.out.println(System.getProperty("user.dir"));//用戶的當(dāng)前工作目錄 System.out.println(System.getProperty("java.class.path"));//Java類路徑 System.out.println(System.getProperty("os.name"));//操作系統(tǒng)名稱 System.out.println(System.getProperty("os.version"));//操作系統(tǒng)版本 方法一:URL is : file:/D:/Java/EclipseWorkSpace/MyJavaDocs/AbsPath.classget Path is : /D:/Java/EclipseWorkSpace/MyJavaDocs/AbsPath.classReal Path is : D:/Java/EclipseWorkSpace/MyJavaDocs/AbsPath.class 方法二:URL is : file:/D:/Java/EclipseWorkSpace/MyJavaDocs/get Path is : /D:/Java/EclipseWorkSpace/MyJavaDocs/Real Path is : D:/Java/EclipseWorkSpace/MyJavaDocs/file:/D:/Java/EclipseWorkSpace/MyJavaDocs/ 方法三:D:\Java\EclipseWorkSpace\MyJavaDocsD:\Java\EclipseWorkSpace\MyJavaDocsfalse 方法四:d:\我的文檔D:\Java\EclipseWorkSpace\MyJavaDocsD:\Java\EclipseWorkSpace\MyJavaDocsWindows XP5.1

java中怎樣獲取當(dāng)前路徑的絕對(duì)路徑

在jsp和class文件中調(diào)用的相對(duì)路徑不同。在jsp里,根目錄是WebRoot 在class文件中,根目錄是WebRoot/WEB-INF/classes 當(dāng)然你也可以用System.getProperty("user.dir")獲取工程的絕對(duì)路徑。

另:在Jsp,Servlet,Java中詳細(xì)獲得路徑的方法!

1.jsp中取得路徑:

以工程名為TEST為例:

(1)得到包含工程名的當(dāng)前頁(yè)面全路徑:request.getRequestURI()

結(jié)果:/TEST/test.jsp

(2)得到工程名:request.getContextPath()

結(jié)果:/TEST

(3)得到當(dāng)前頁(yè)面所在目錄下全名稱:request.getServletPath()

結(jié)果:如果頁(yè)面在jsp目錄下 /TEST/jsp/test.jsp

(4)得到頁(yè)面所在服務(wù)器的全路徑:application.getRealPath("頁(yè)面.jsp")

結(jié)果:D:\resin\webapps\TEST\test.jsp

(5)得到頁(yè)面所在服務(wù)器的絕對(duì)路徑:absPath=new java.io.File(application.getRealPath(request.getRequestURI())).getParent();

結(jié)果:D:\resin\webapps\TEST

2.在類中取得路徑:

(1)類的絕對(duì)路徑:Class.class.getClass().getResource("/").getPath()

結(jié)果:/D:/TEST/WebRoot/WEB-INF/classes/pack/

(2)得到工程的路徑:System.getProperty("user.dir")

結(jié)果:D:\TEST

3.在Servlet中取得路徑:

(1)得到工程目錄:request.getSession().getServletContext().getRealPath("") 參數(shù)可具體到包名。

結(jié)果:E:\Tomcat\webapps\TEST

(2)得到IE地址欄地址:request.getRequestURL()

結(jié)果:

(3)得到相對(duì)地址:request.getRequestURI()

結(jié)果:/TEST/test

java里絕對(duì)路徑和相對(duì)路徑的區(qū)別是什么?

按照jdk Doc上的說(shuō)法”絕對(duì)路徑名是完整的路徑名,不需要任何其他信息就可以定位自身表示的文件。相反,相對(duì)路徑名必須使用來(lái)自其他路徑名的信息進(jìn)行解釋。默認(rèn)情況下,java.io 包中的類總是根據(jù)當(dāng)前用戶目錄來(lái)分析相對(duì)路徑名。此目錄由系統(tǒng)屬性 user.dir 指定,通常是 Java 虛擬機(jī)的調(diào)用目錄.”\x0d\x0a \x0d\x0a相對(duì)路徑顧名思義,相對(duì)于某個(gè)路徑,那么究竟相對(duì)于什么路徑我們必須弄明白.按照上面jdk文檔上講的這個(gè)路徑是”當(dāng)前用戶目錄”也就是”java虛擬機(jī)的調(diào)用目錄”.更明白的說(shuō)這個(gè)路徑其實(shí)是我們?cè)谀睦镎{(diào)用jvm的路徑.舉個(gè)例子:\x0d\x0a \x0d\x0a假設(shè)有一java源文件Example.java在d盤(pán)根目錄下,該文件不含package信息.我們進(jìn)入命令行窗口,然后使用”d:”命令切換到d盤(pán)根目錄下,然后用”javac Example.java”來(lái)編譯此文件,編譯無(wú)錯(cuò)后,會(huì)在d盤(pán)根目錄下自動(dòng)生成”Example.class”文件.我們?cè)谡{(diào)用”java Example”來(lái)運(yùn)行該程序.此時(shí)我們已經(jīng)啟動(dòng)了一個(gè)jvm,這個(gè)jvm是在d盤(pán)根目錄下被啟動(dòng)的,所以此jvm所加載的程序中File類的相對(duì)路徑也就是相對(duì)這個(gè)路徑的,即d盤(pán)根目錄:D:/.同時(shí)” 當(dāng)前用戶目錄”也是D:/.在System.getProperty(“user.dir”);系統(tǒng)變量”user.dir”存放的也是這個(gè)值.\x0d\x0a我們可以多做幾次試驗(yàn),把”Example.class”移動(dòng)到不同路徑下,同時(shí)在那些路徑下,執(zhí)行”java Example”命令啟動(dòng)jvm,我們會(huì)發(fā)現(xiàn)這個(gè)”當(dāng)前用戶目錄”是不斷變化的,它的路徑始終和我們?cè)谀膯?dòng)jvm的路徑是一致的.\x0d\x0a搞清了這些,我們可以使用相對(duì)路徑來(lái)創(chuàng)建文件,例如:\x0d\x0aFile file = new File(“a.txt”);\x0d\x0aFile.createNewFile();\x0d\x0a假設(shè)jvm是在”D:/”下啟動(dòng)的,那么a.txt就會(huì)生成在D:/a.txt;\x0d\x0a此外,這個(gè)參數(shù)還可以使用一些常用的路徑表示方法,例如”.”或”./”代表當(dāng)前目錄,這個(gè)目錄也就是jvm啟動(dòng)路徑.所以如下代碼能得到當(dāng)前目錄完整路徑:\x0d\x0aFile f = new File(“.”);\x0d\x0aString absolutePath = f.getAbsolutePath();\x0d\x0aSystem.out.println(absolutePath);//D:/\x0d\x0a最后要說(shuō)說(shuō)在eclipse中的情況:\x0d\x0aEclipse中啟動(dòng)jvm都是在項(xiàng)目根路徑上啟動(dòng)的.比如有個(gè)項(xiàng)目名為blog,其完整路徑為:D:/work/IDE/workspace/blog.那么這個(gè)路徑就是jvm的啟動(dòng)路徑了.所以以上代碼如果在eclipse里運(yùn)行,則輸出結(jié)果為” D:/work/IDE/workspace/blog.”\x0d\x0a \x0d\x0aTomcat中的情況.\x0d\x0a如果在tomcat中運(yùn)行web應(yīng)用,此時(shí),如果我們?cè)谀硞€(gè)類中使用如下代碼:\x0d\x0aFile f = new File(“.”);\x0d\x0aString absolutePath = f.getAbsolutePath();\x0d\x0aSystem.out.println(absolutePath);\x0d\x0a那么輸出的將是tomcat下的bin目錄.我的機(jī)器就是” D:/work/server/jakarta-tomcat-5.0.28/bin/.”,由此可以看出tomcat服務(wù)器是在bin目錄下啟動(dòng)jvm的.其實(shí)是在bin目錄下的” catalina.bat”文件中啟動(dòng)jvm的.

本文名稱:java代碼工程絕對(duì)路徑,關(guān)鍵路徑j(luò)ava代碼
分享地址:http://chinadenli.net/article6/dseidog.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營(yíng)銷推廣軟件開(kāi)發(fā)外貿(mào)網(wǎng)站建設(shè)響應(yīng)式網(wǎng)站用戶體驗(yàn)服務(wù)器托管

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司