必威体育Betway必威体育官网
当前位置:首页 > IT技术

getPath(),getAbsolutePath(),getCanonicalPath()区别

时间:2019-08-07 02:11:04来源:IT技术作者:seo实验室小编阅读:55次「手机版」
 

getabsolutepath

File的这三个方法在api中都有说明,仅以程序为例说明。

package test;

import java.io.File;

import java.io.IOException;

public class TestFilePath {

public static void main(String[] args) {

// TODO Auto-generated method stub

System.out.println(system.getproperty("user.dir"));

 

try {

 System.out.println("-----默认相对路径:取得路径不同------");

 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("-----默认相对路径:取得路径不同------");

 File file = new File(".\\test1.txt");

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

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

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

 

 System.out.println("-----默认绝对路径:取得路径相同------");

 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) {

 // TODO Auto-generated catch block

 e.printstacktrace();

}

}

}

程序执行结果如下:

F:\Eclipseworkspace\testejb

-----默认相对路径:取得路径不同------

..\src\test1.txt

F:\eclipseworkspace\testejb\..\src\test1.txt

F:\eclipseworkspace\src\test1.txt

-----默认相对路径:取得路径不同------

.\test1.txt

F:\eclipseworkspace\testejb\.\test1.txt

F:\eclipseworkspace\testejb\test1.txt

-----默认绝对路径:取得路径相同------

D:\workspace\test\test1.txt

D:\workspace\test\test1.txt

D:\workspace\test\test1.txt

结论:

当输入为绝对路径时,返回的都是绝对路径。

当输入为相对路径时:

getPath()返回的是File构造方法里的路径,是什么就是什么,不增不减

getAbsolutePath()返回的其实是user.dir+getPath()的内容,从上面F:\eclipseworkspace\testejb、F:\eclipseworkspace\testejb\..\src\test1.txt、F:\eclipseworkspace\testejb\.\test1.txt可以得出。

getCanonicalPath()返回的就是标准的将符号完全解析的路径

相关阅读

分享到:

栏目导航

推荐阅读

热门阅读