file.getPath() getAbsolutePath() getCanonicalPath()区别

Posted 林暗草惊风丶

tags:

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

package file;
import java.io.File;
import java.io.IOException;
 
public class getFilePath {
 public static void main(String[] args) throws IOException
 {
     System.out.println("------默认相对路径,取得路径不同-----");
     File f = new File("..\\src\\file");
     System.out.println(f.getPath());
     System.out.println(f.getAbsolutePath());
     System.out.println(f.getCanonicalPath());
     System.out.println("------默认相对路径,取得路径不同-----");
     File f2 = new File(".\\src\\file");
     System.out.println(f2.getPath());
     System.out.println(f2.getAbsolutePath());
     System.out.println(f2.getCanonicalPath());
     System.out.println("------默认绝对路径,取得路径相同-----");
     File f3 = new File("C:\\src\\file");
     System.out.println(f3.getPath());
     System.out.println(f3.getAbsolutePath());
     System.out.println(f3.getCanonicalPath());
      
//   执行结果为:
//   ------默认相对路径,取得路径不同-----
//   ..\src\file
//   C:\workspace\Tip\..\src\file
//   C:\workspace\src\file
//   ------默认相对路径,取得路径不同-----
//   .\src\file
//   C:\workspace\Tip\.\src\file
//   C:\workspace\Tip\src\file
//   ------默认绝对路径,取得路径相同-----
//   C:\src\file
//   C:\src\file
//   C:\src\file
//  
//   比较可以得到
//   getPath()返回的是构造方法里的路径,不做任何处理
//   getAbsolutePath()返回的是 user.dir+getPath(),也就是执行路径加上构造方法中的路径
//   getCanonicalPath()返回的是将符号完全解析的路径,也就是全路径
 }
}

 

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

File类

java读取txt文件内容

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

输入和输出(IO流)

从 DataFrame 中按分区收集集合

Eclipse插件开发中File和IFile的转换