開心生活站

位置:首頁 > 綜合知識 > 

java獲取java文件的路徑怎麼寫

1. java獲取某個文件夾的路徑怎麼寫

File類有兩個常用方法可以得到文件路徑一個是:getCanonicalPath(),另一個是:getAbsolutePath(),可以通過File類的實例調用這兩個方法例如file.getAbsolutePath()其中file是File的實例對象。下面是一個具體例子:

java獲取java文件的路徑怎麼寫

public class PathTest

{

public static void main(String[] args)

{

File file = new File(".srcbaidu");

System.out.println(file.getAbsolutePath());

try

{

System.out.println(file.getCanonicalPath());

} catch (IOException e)

{

e.printStackTrace();

}

}

}

getAbsolutePath()和getCanonicalPath()的不同之處在於,getCanonicalPath()得到的是一個規範的路徑,而getAbsolutePath()是用構造File對象的路徑+當前工作目錄。例如在上面的例子中.(點號)代表當前目錄。getCanonicalPath()就會把它解析爲當前目錄但是getAbsolutePath()會把它解析成爲目錄名字(目錄名字是點號)。

下面是上面程序在我電腦上的輸出:

G:xhuojkonw.srcbaidu

G:xhuojkonwsrcbaidu

2. java怎麼獲取文件的相對路徑

一個例子,如複果有一個Test文件夾裏面有test.java和hello.txt.如果你想用test.java操作制hello.txt只要在test.java中這樣寫2113File file=new File("hello.txt");//這樣就是相對路徑。

如果文件結構是Test文件夾。 |------test.java。

|------hello.txt。 |------source文件夾。

.. |---------world.txt如果想5261在test.java中操作world.txt。只要這樣寫File file=new File("source/world.txt");另外,在web開發中/代表項目文件夾根目錄,當然也有可能代替webapps,區分方法是:如果/開頭4102的uri是給瀏覽器解析則/代表webapps,如果是給服務1653器後臺解析,則代表項目文件。

3. java 根據文件獲取文件名及路徑的方法

我寫了一段遍歷某個文件查找指定文件的,你自己改成你需要的功能。

import java.io.File;

import java.util.HashMap;

public class Test1 {

static HashMap<String, String> filelist=new HashMap<String, String>();

/**

* 遞歸方法

* @param path 文件路徑

*/

public static void find(String path){

File file=new File(path);

File[] files = file.listFiles();

//如果文件數組爲null則返回

if (files == null)

return;

for (int i = 0; i < files.length; i++) {

if (files[i].isDirectory()) {

//判斷是不是文件夾,如果是文件夾則繼續向下查找文件

find(files[i].getAbsolutePath());

} else {

//記錄文件路徑

String filePath = files[i].getAbsolutePath().toLowerCase();

//記錄文件名

String fileName=files[i].getName().toLowerCase();

// System.out.println("---"+strFileName);

filelist.put(fileName, filePath);

}

}

}

public static void main(String[] args) {

//需要遍歷的路徑,也就是你要查找文件所在的路徑

String path="D:kpi";

find(path);

System.out.println("kpi.9的路徑:"+filelist.get("kpi.9"));

//輸出結果:d:kpikpi.9

}

}