建手機(jī)網(wǎng)站價(jià)格企業(yè)網(wǎng)站seo哪里好
1.getAbsolutePath()?得到絕對(duì)路徑、全路徑。
?? getpath()?得到縮寫的路徑,根據(jù)當(dāng)前目錄位置可以縮寫路徑。得到相對(duì)路徑。
? ?getCanonicalPath()?得到標(biāo)準(zhǔn)路徑,將統(tǒng)一平臺(tái)間的路徑寫法差異。
File的這三個(gè)方法在api中都有說明,僅以程序?yàn)槔f明。
package?test;
import? java.io.File;
import?java.io.IOException;
public?class?TestFilePath?{
?
?public?static?void?main(String[]?args)?{
??//?TODO?Auto-generated?methodstub
??System.out.println(System.getProperty("user.dir"));
??
??try?{
???System.out.println("-----默認(rèn)相對(duì)路徑:取得路徑不同------");
?? ?File?file1?=new?File("..\\src\\test1.txt");
???System.out.println( file1.getPath());
???System.out.println( file1.getAbsolutePath());
???System.out.println(file1.getCanonicalPath());
???System.out.println("-----默認(rèn)相對(duì)路徑:取得路徑不同------");
???File?file?=new?File(".\\test1.txt");
???System.out.println(file.getPath());
???System.out.println(file.getAbsolutePath());
???System.out.println(file.getCanonicalPath());
???
???System.out.println("-----默認(rèn)絕對(duì)路徑:取得路徑相同------");
???File?file2?=new?File("D:\\workspace\\test\\test1.txt");
???System.out.println(file2.getPath());
???System.out.println(file2.getAbsolutePath());
???System.out.println(file2.getCanonicalPath());
??}?catch?(IOException?e)?{
???//?TODOAuto-generated?catch?block
???e.printStackTrace();
??}
?}
}
程序執(zhí)行結(jié)果如下:
F:\eclipseworkspace\testejb
-----默認(rèn)相對(duì)路徑:取得路徑不同------
..\src\test1.txt
F:\eclipseworkspace\testejb\..\src\test1.txt
F:\eclipseworkspace\src\test1.txt
-----默認(rèn)相對(duì)路徑:取得路徑不同------
.\test1.txt
F:\eclipseworkspace\testejb\.\test1.txt
F:\eclipseworkspace\testejb\test1.txt
-----默認(rèn)絕對(duì)路徑:取得路徑相同------
D:\workspace\test\test1.txt
D:\workspace\test\test1.txt
D:\workspace\test\test1.txt
結(jié)論:
當(dāng)輸入為絕對(duì)路徑時(shí),返回的都是絕對(duì)路徑。
當(dāng)輸入為相對(duì)路徑時(shí):
getPath()返回的是File構(gòu)造方法里的路徑,是什么就是什么,不增不減
getAbsolutePath()返回的其實(shí)是user.dir+getPath()的內(nèi)容,從上面F:\eclipseworkspace\testejb、F:\eclipseworkspace\testejb\..\src\test1.txt、F:\eclipseworkspace\testejb\.\test1.txt可以得出。
getCanonicalPath()返回的就是標(biāo)準(zhǔn)的將符號(hào)完全解析的路徑
package?test;
import? java.io.File;
import?java.io.IOException;
public?class?TestFilePath?{
?
?public?static?void?main(String[]?args)?{
??//?TODO?Auto-generated?methodstub
??System.out.println(System.getProperty("user.dir"));
??
??try?{
???System.out.println("-----默認(rèn)相對(duì)路徑:取得路徑不同------");
?? ?File?file1?=new?File("..\\src\\test1.txt");
???System.out.println( file1.getPath());
???System.out.println( file1.getAbsolutePath());
???System.out.println(file1.getCanonicalPath());
???System.out.println("-----默認(rèn)相對(duì)路徑:取得路徑不同------");
???File?file?=new?File(".\\test1.txt");
???System.out.println(file.getPath());
???System.out.println(file.getAbsolutePath());
???System.out.println(file.getCanonicalPath());
???
???System.out.println("-----默認(rèn)絕對(duì)路徑:取得路徑相同------");
???File?file2?=new?File("D:\\workspace\\test\\test1.txt");
???System.out.println(file2.getPath());
???System.out.println(file2.getAbsolutePath());
???System.out.println(file2.getCanonicalPath());
??}?catch?(IOException?e)?{
???//?TODOAuto-generated?catch?block
???e.printStackTrace();
??}
?}
}
程序執(zhí)行結(jié)果如下:
F:\eclipseworkspace\testejb
-----默認(rèn)相對(duì)路徑:取得路徑不同------
..\src\test1.txt
F:\eclipseworkspace\testejb\..\src\test1.txt
F:\eclipseworkspace\src\test1.txt
-----默認(rèn)相對(duì)路徑:取得路徑不同------
.\test1.txt
F:\eclipseworkspace\testejb\.\test1.txt
F:\eclipseworkspace\testejb\test1.txt
-----默認(rèn)絕對(duì)路徑:取得路徑相同------
D:\workspace\test\test1.txt
D:\workspace\test\test1.txt
D:\workspace\test\test1.txt
結(jié)論:
當(dāng)輸入為絕對(duì)路徑時(shí),返回的都是絕對(duì)路徑。
當(dāng)輸入為相對(duì)路徑時(shí):
getPath()返回的是File構(gòu)造方法里的路徑,是什么就是什么,不增不減
getAbsolutePath()返回的其實(shí)是user.dir+getPath()的內(nèi)容,從上面F:\eclipseworkspace\testejb、F:\eclipseworkspace\testejb\..\src\test1.txt、F:\eclipseworkspace\testejb\.\test1.txt可以得出。
getCanonicalPath()返回的就是標(biāo)準(zhǔn)的將符號(hào)完全解析的路徑
?
?