java中File类的getPath(),getAbsolutePath(),getCanonicalPath()区别

Posted newcaoguo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中File类的getPath(),getAbsolutePath(),getCanonicalPath()区别相关的知识,希望对你有一定的参考价值。

File file = new File(".\\test.txt"); 
System.out.println(file.getPath()); 
System.out.println(file.getAbsolutePath()); 
System.out.println(file.getCanonicalPath()); 

输出实例:

.\test.txt 
E:\workspace\Test\.\test.txt 
E:\workspace\Test\test.txt 

 

getPath():

返回的是定义时的路径,可能是相对路径,也可能是绝对路径,这个取决于定义时用的是相对路径还是绝对路径。如果定义时用的是绝对路径,那么使用getPath()返回的结果跟用getAbsolutePath()返回的结果一样

getAbsolutePath():

返回的是定义时的路径对应的相对路径,但不会处理“.”和“..”的情况

getCanonicalPath():

返回的是规范化的绝对路径,相当于将getAbsolutePath()中的“.”和“..”解析成对应的正确的路径

以上是关于java中File类的getPath(),getAbsolutePath(),getCanonicalPath()区别的主要内容,如果未能解决你的问题,请参考以下文章

java文件读写类及其用法介绍

Java -- File

java读取txt文件内容

关于Class类的getResource().getPath()方法

java io流清空txt文件内容及填充文件内容

File的getPath()和getAbsolutePath()和getCanonicalPath()的差别