java代碼表示相對(duì)路徑 java相對(duì)路徑的三種寫法

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

按照jdk Doc上的說法”絕對(duì)路徑名是完整的路徑名,不需要任何其他信息就可以定位自身表示的文件。相反,相對(duì)路徑名必須使用來自其他路徑名的信息進(jìn)行解釋。默認(rèn)情況下,java.io 包中的類總是根據(jù)當(dāng)前用戶目錄來分析相對(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)用目錄”.更明白的說這個(gè)路徑其實(shí)是我們?cè)谀睦镎{(diào)用jvm的路徑.舉個(gè)例子:\x0d\x0a \x0d\x0a假設(shè)有一java源文件Example.java在d盤根目錄下,該文件不含package信息.我們進(jìn)入命令行窗口,然后使用”d:”命令切換到d盤根目錄下,然后用”javac Example.java”來編譯此文件,編譯無錯(cuò)后,會(huì)在d盤根目錄下自動(dòng)生成”Example.class”文件.我們?cè)谡{(diào)用”java Example”來運(yùn)行該程序.此時(shí)我們已經(jīng)啟動(dòng)了一個(gè)jvm,這個(gè)jvm是在d盤根目錄下被啟動(dòng)的,所以此jvm所加載的程序中File類的相對(duì)路徑也就是相對(duì)這個(gè)路徑的,即d盤根目錄: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ì)路徑來創(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最后要說說在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的.

我們提供的服務(wù)有:成都網(wǎng)站設(shè)計(jì)、做網(wǎng)站、微信公眾號(hào)開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、張北ssl等。為成百上千企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的張北網(wǎng)站制作公司

java中 讀取文件時(shí)想用相對(duì)路徑,代碼怎么寫?

test

|

src

|

t090417

|

test.properties

Read.java

test.properties:

TEST=test

Read.java:

import java.io.FileInputStream;

import java.io.FileNotFoundException;

import java.io.IOException;

import java.util.Properties;

public class Read {

public static String TEST ;

private static Properties loadPropertyFile() throws FileNotFoundException,IOException{

Properties properties = new Properties() ;

FileInputStream fs = new FileInputStream("src/t090417/test.properties");

properties.load(fs);

return properties ;

}

public static void loadProperty(){

try{

Properties properties = loadPropertyFile();

TEST = properties.getProperty("TEST");

System.out.println("read from properties: "+TEST);

}catch(Exception e){

e.printStackTrace();

}

}

public static void main(String[] args) {

loadProperty();

}

}

其中用的就是相對(duì)路徑!

誰告訴我java中 讀取文件時(shí)想用相對(duì)路徑,代碼怎么寫?

1絕對(duì)路徑:加上盤符,就是絕對(duì)正確的地址,一般通過我的電腦打開到那個(gè)位置,復(fù)制地址就可以。

2相對(duì)路徑:

a;同級(jí)目錄: 直接填寫文件名稱;

b;下級(jí)鏈接:帶上文件夾,寫上文件名稱;

c:上級(jí)鏈接:"..\文件名稱"

網(wǎng)頁標(biāo)題:java代碼表示相對(duì)路徑 java相對(duì)路徑的三種寫法
標(biāo)題鏈接:http://bm7419.com/article32/ddepppc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作、品牌網(wǎng)站設(shè)計(jì)、網(wǎng)站營銷、App開發(fā)、品牌網(wǎng)站建設(shè)、網(wǎng)站排名

廣告

聲明:本網(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í)需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)