前言:
java中File类的中的三个方法的区别: getPath();getAbsolutePath();getCanonicalPath() ;
1.getPath():
返回的是定义时的路径,这个取决于定义时用的是相对路径还是绝对路径。
2.getAbsolutePath():
情况1:定义时用的是绝对路径
返回的是文件所在文件的绝对路径 ;
情况2:定义时用的是相对路径
返回的是文件所在文件夹的绝对路径 + 定义时的路径对应的相对路径,
3.getCanonicalPath():
返回的是该文件的绝对路径
举例如下:
File reportFile = new File(“C:/Users/Administrator/eclipse-workspace/xiangmuid/Blank_A4.jasper”);
File reportFile1 = new File(“./Blank_A4.jasper”);
System.out.println(“getPath():”);
System.out.println(“reportFile:”+reportFile.getPath());
System.out.println(“reportFile1:”+reportFile1.getPath());
System.out.println(“getAbsolutePath():”);
System.out.println(“reportFile:”+reportFile.getAbsolutePath());
System.out.println(“reportFile1:”+reportFile1.getAbsolutePath());
System.out.println(“getCanonicalPath():”);
System.out.println(“reportFile:”+reportFile.getCanonicalPath());
System.out.println(“reportFile1:”+reportFile1.getCanonicalPath());
返回的结果为:
getPath():
reportFile:C:\Users\Administrator\eclipse-workspace\xiangmuid\Blank_A4.jasper
reportFile1:.\Blank_A4.jasper
getAbsolutePath():
reportFile:C:\Users\Administrator\eclipse-workspace\xiangmuid\Blank_A4.jasper
reportFile1:C:\Users\Administrator\eclipse-workspace\xiangmuid.\Blank_A4.jasper
getCanonicalPath():
reportFile:C:\Users\Administrator\eclipse-workspace\xiangmuid\Blank_A4.jasper
reportFile1:C:\Users\Administrator\eclipse-workspace\xiangmuid\Blank_A4.jasper