導航:首頁 > 物理學科 > java文件中物理路徑是什麼

java文件中物理路徑是什麼

發布時間:2022-06-15 12:18:45

Ⅰ java 獲取當前文件的路徑,路徑全名

我覺得如果只是為了得到路徑,那491064739的回答其實已經給你思路了,就是傳入個File f,然後String s = f.getAbsolutePath();得到絕對路徑!不過,似乎你問的是Path後,我的思路是傳入兩個參數,一個workspace的路徑,一個是File f 。偽代碼如下:
public String getPathInfo(String workspace,File file) throw Exception{
String path = file.geAbsolute(); //絕對路徑
path.replaceAll("\\\\","/"); //把\ 替換成 /
workspace.replaceAll("\\\\","/");
String info = path.subString(workspace.length-1); //-1是留下/
//因為是絕對路徑,所以文件名最前面的就是workspace,把前面那段去掉就是Path後的了
return info;

}
大致上邏輯就是這樣吧

Ⅱ JAVA中絕對路徑和目錄有什麼區別

絕對路徑:
絕對路徑就是你的主頁上的文件或目錄在硬碟上真正的路徑,(url和物理路徑)例如:
c:\xyz\test.txt
代表了test.txt文件的絕對路徑。http://www.sun.com/index.htm也代表了一個url絕對路徑。
相對路徑:
相對與某個基準目錄的路徑。包含web的相對路徑(html中的相對目錄),例如:在
servlet中,"/"代表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中的路徑和絕對路徑有什麼區別---

絕對路徑:
絕對路徑就是你的主頁上的文件或目錄在硬碟上真正的路徑,(URL和物理路徑)例如:
C:\xyz\test.txt 代表了test.txt文件的絕對路徑。http://www.sun.com/index.htm也代表了一個URL絕對路徑。
相對路徑:
相對與某個基準目錄的路徑。包含Web的相對路徑(HTML中的相對目錄),例如:在
Servlet中,"/"代表Web應用的根目錄。和物理路徑的相對表示,例如:"./" 代表當前目錄,
"../"代表上級目錄。這種類似的表示,也是屬於相對路徑。

Ⅳ java 項目如何獲取項目所在的物理根路徑

在java中獲得文件的路徑在我們做上傳文件操作時是不可避免的。web上運行1:this.getClass().getClassLoader().getResource("/").getPath();this.getClass().getClassLoader().getResource("").getPath();得到的是ClassPath的絕對URI路徑。如:/D:/jboss-4.2.2.GA/server/default/deploy/hp.war/WEB-INF/classes/System.getProperty("user.dir");this.getClass().getClassLoader().getResource(".").getPath();得到的是項目的絕對路徑。如:/D:/jboss-4.2.2.GA/server/default/deploy/hp.war2:this.getClass().getResource("/").getPath();this.getClass().getResource("").getPath();得到的是當前類文件的URI目錄。如:/D:/jboss-4.2.2.GA/server/default/deploy/hp.war/WEB-INF/classes/com/jebel/helper/this.getClass().getResource(".").getPath();X不能運行3:Thread.currentThread().getContextClassLoader().getResource("/").getPath()Thread.currentThread().getContextClassLoader().getResource("").getPath()得到的是ClassPath的絕對URI路徑。如:/D:/jboss-4.2.2.GA/server/default/deploy/hp.war/WEB-INF/classes/Thread.currentThread().getContextClassLoader().getResource(".").getPath()得到的是項目的絕對路徑。如:/D:/jboss-4.2.2.GA/server/default/deploy/hp.war在本地運行中1:this.getClass().getClassLoader().getResource("").getPath();this.getClass().getClassLoader().getResource(".").getPath();得到的是ClassPath的絕對URI路徑。如:/D:/myProjects/hp/WebRoot/WEB-INF/classesthis.getClass().getClassLoader().getResource(".").getPath();X不能運行2:this.getClass().getResource("").getPath();this.getClass().getResource(".").getPath();得到的是當前類文件的URI目錄。如:/D:/myProjects/hp/WebRoot/WEB-INF/classes/com/jebel/helper//D:/myProjects/hp/WebRoot/WEB-INF/classes/得到的是ClassPath的絕對URI路徑。如:/D:/myProjects/hp/WebRoot/WEB-INF/classes3:Thread.currentThread().getContextClassLoader().getResource(".").getPath()Thread.currentThread().getContextClassLoader().getResource("").getPath()得到的是ClassPath的絕對URI路徑。。如:/D:/myProjects/hp/WebRoot/WEB-INF/classesThread.currentThread().getContextClassLoader().getResource("/").getPath()X不能運行最後在Web應用程序中,我們一般通過ServletContext.getRealPath("/")方法得到Web應用程序的根目錄的絕對路徑。還有request.getContextPath();在Weblogic中要用request.getServletContext().getContextPath();但如果打包成war部署到Weblogic伺服器,項目內部並沒有文件結構的概念,用這種方式是始終得到null,獲取不到路徑,目前還沒有找到具體的解決方案。

Ⅵ java怎麼得到文件的路徑

FiletestClassFile=newFile(Test.class.getResource("Test.class")
.toString());
Filea1=newFile(URLDecoder.decode(testClassFile.getParent())
+"\..\..\..\jfinal22\a\a1.txt");

Ⅶ 絕對路徑、物理路徑、完全路徑各有什麼區別,如何理解

絕對路徑是指目錄下的絕對位置,直接到達目標位置。
物理路徑指的是某一台計算機本地的路徑,以盤符開頭,例如C:\、D:\temp等等。ASP的資料庫連接中,只能連接物理路徑,而不能連接相對路徑,所以需要用server.mappath對象把相對路徑轉化成物理路徑。

全路徑是指從根目錄開始的路徑,例如
Windows下
C:\abcd\abcd\a.txt
Linux下
/mnt/media/xxxx.txt
使用全路徑就可以唯一定位一個文件或者文件夾。

Ⅷ java程序讀取資源文件時路徑如何指定

(1)、request.getRealPath("/");//不推薦使用獲取工程的根路徑
(2)、request.getRealPath(request.getRequestURI());//獲取jsp的路徑,這個方法比較好用,可以直接在servlet和jsp中使用
(3)、request.getSession().getServletContext().getRealPath("/");//獲取工程的根路徑,這個方法比較好用,可以直接在servlet和jsp中使用
(4)、 this.getClass().getClassLoader().getResource("").getPath();//獲取工程classes 下的路徑,這個方法可以在任意jsp,servlet,java文件中使用,因為不管是jsp,servlet其實都是java程序,都是一個 class。所以它應該是一個通用的方法。
0、關於絕對路徑和相對路徑
1.基本概念的理解絕對路徑:絕對路徑就是你的主頁上的文件或目錄在硬碟上真正的路徑,(URL和物理路徑)例 如:C:xyz est.txt 代表了test.txt文件的絕對路徑。http://www.sun.com/index.htm也代表了一個URL絕對路徑。相對路徑:相對與某個基 准目錄的路徑。包含Web的相對路徑(HTML中的相對目錄),例如:在Servlet中,"/"代表Web應用的跟目錄。和物理路徑的相對表示。例 如:"./" 代表當前目錄,"../"代表上級目錄。這種類似的表示,也是屬於相對路徑。另外關於URI,URL,URN等內容,請參考RFC相關文檔標准。RFC 2396: Uniform Resource Identifiers (URI): Generic Syntax,(http://www.ietf.org/rfc/rfc2396.txt)2.關於JSP/Servlet中的相對路徑和絕對路徑。 2.1伺服器端的地址伺服器端的相對地址指的是相對於你的web應用的地址,這個地址是在伺服器端解析的(不同於html和javascript中的相對 地址,他們是由客戶端瀏覽器解析的)
1、request.getRealPath
方法:request.getRealPath("/")
得到的路徑:C:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps\strutsTest\
方法:request.getRealPath(".")
得到的路徑:C:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps\strutsTest\.
方法:request.getRealPath("")
得到的路徑:C:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps\strutsTest
request.getRealPath("web.xml")
C:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps\strutsTest\web.xml
2、request.getParameter("");
ActionForm.getMyFile();
方法:String filepath = request.getParameter("myFile");
得到的路徑:D:\VSS安裝目錄\users.txt
方法:String filepath = ActionForm.getMyFile();
得到的路徑:D:\VSS安裝目錄\users.txt
--------------------------------------------------
strutsTest 為工程名
myFile 在ActionForm中,為private String myFile;
在jsp頁面中:為<html:file property="myFile"></html:file>

Ⅸ java 相對路徑與絕對路徑,物理路徑與虛擬路徑的區別

相對路徑 相對當前目錄的路徑、或相對某個目錄的路徑
絕對路徑 是從最高層開始的路徑,如windows下 C:\a\b\c\d\e
物理路徑 實際磁碟中的路徑,可以是相對路徑、也可以是絕對路徑
虛擬路徑 是服務映射出來的路徑,如/myweb

Ⅹ java中,父路徑和子路徑是什麼有什麼區別

舉個例子,有一個文件my.txt,它的絕對路徑為D:\Program\myfile\my.txt,這里有三個目錄。
D:\,D:\Program\,D:\Program\myfile\。前者是後者的父目錄。

閱讀全文

與java文件中物理路徑是什麼相關的資料

熱點內容
word中化學式的數字怎麼打出來 瀏覽:466
乙酸乙酯化學式怎麼算 瀏覽:1140
沈陽初中的數學是什麼版本的 瀏覽:1058
華為手機家人共享如何查看地理位置 瀏覽:789
一氧化碳還原氧化鋁化學方程式怎麼配平 瀏覽:617
數學c什麼意思是什麼意思是什麼 瀏覽:1108
中考初中地理如何補 瀏覽:1059
360瀏覽器歷史在哪裡下載迅雷下載 瀏覽:480
數學奧數卡怎麼辦 瀏覽:1088
如何回答地理是什麼 瀏覽:809
win7如何刪除電腦文件瀏覽歷史 瀏覽:848
大學物理實驗干什麼用的到 瀏覽:1197
二年級上冊數學框框怎麼填 瀏覽:1405
西安瑞禧生物科技有限公司怎麼樣 瀏覽:556
武大的分析化學怎麼樣 瀏覽:985
ige電化學發光偏高怎麼辦 瀏覽:1081
學而思初中英語和語文怎麼樣 瀏覽:1313
下列哪個水飛薊素化學結構 瀏覽:1142
化學理學哪些專業好 瀏覽:1230
數學中的棱的意思是什麼 瀏覽:763