這就是相對路徑
創(chuàng)新互聯(lián)建站總部坐落于成都市區(qū),致力網(wǎng)站建設服務有做網(wǎng)站、成都做網(wǎng)站、網(wǎng)絡營銷策劃、網(wǎng)頁設計、網(wǎng)站維護、公眾號搭建、微信小程序、軟件開發(fā)等為企業(yè)提供一整套的信息化建設解決方案。創(chuàng)造真正意義上的網(wǎng)站建設,為互聯(lián)網(wǎng)品牌在互動行銷領域創(chuàng)造價值而不懈努力!
指的是相對于工程文件的位置而言
在eclipse的結(jié)構(gòu)圖中的位置
在windows的文件夾里的位置
在查看屬性里的絕對路徑的位置
代碼來找文件路徑
public?class?Test?{
public?static?void?main(String[]?args)?throws?Exception?{
System.out.println("當前目錄的路徑\t"+new?File(".").getCanonicalPath());//?"."表示當前目錄
File?file?=?new?File("Buffered.txt");
if(!file.exists()){//如果不存在,就新建該文件
file.createNewFile();
}
System.out.println("Buffered.txt的絕對路徑\t"+file.getCanonicalPath());
System.out.println("Buffered.txt的相對路徑\t"+file.getPath());
}
}
輸出
當前目錄的路徑 D:\space\workspace\Demo
Buffered.txt的絕對路徑 D:\space\workspace\Demo\Buffered.txt
Buffered.txt的相對路徑 Buffered.txt
構(gòu)造File對象,使用File對象取上級目錄,再取絕對路徑 File f = new File("c:\\temp\\01\\1.txt"); if(f.exists()){ System.out.println(f.getParentFile().getAbsolutePath()); }
File類有兩個常用方法可以得到文件路徑一個是:getCanonicalPath(),另一個是:getAbsolutePath(),可以
通過File類的實例調(diào)用這兩個方法例如file.getAbsolutePath()其中file是File的實例對象。下面是一個具體例子:
public?class?PathTest
{
public?static?void?main(String[]?args)
{
File?file?=?new?File(".\\src\\baidu");
System.out.println(file.getAbsolutePath());
try
{
System.out.println(file.getCanonicalPath());
}?catch?(IOException?e)
{
e.printStackTrace();
}
}
}
getAbsolutePath()和getCanonicalPath()的不同之處在于,getCanonicalPath()得到的是一個規(guī)范的
路徑,而getAbsolutePath()是用構(gòu)造File對象的路徑+當前工作目錄。例如在上面的例子中.(點號)代表當前目錄。
getCanonicalPath()就會把它解析為當前目錄但是getAbsolutePath()會把它解析成為目錄名字(目錄名字是點號)。
下面是上面程序在我電腦上的輸出:
G:\xhuoj\konw\.\src\baidu
G:\xhuoj\konw\src\baidu
有絕對路徑與相對路徑兩種:
絕對路徑?:以引用文件之網(wǎng)頁所在位置為參考基礎,而建立出的目錄路徑。
絕對路徑:以Web站點根目錄為參考基礎的目錄路徑。
寫了一個讀取本地文件的方法, File file = new File(htmlFile); FileReader fr = new FileReader(file); BufferedReader br = new BufferedReader(fr); while((s=br.readLine())!=null){ al.add(s); } 在當前類寫了main方法測試了一下是可行的, 但是頁面某方法想調(diào)用該方法,不能實現(xiàn)。 總結(jié)問題是:只有放在static方法中可行,在其他地方調(diào)用都顯示找不到指定文件。 文件結(jié)構(gòu): 把本地文件放在了web-inf的classes下了,相對路徑寫的(“/file.txt”); 求教為啥static方法可以,其他地方調(diào)用不行,這個函數(shù)本身不是靜態(tài)的啊。