详谈java中File类getPath()、getAbsolutePath()、getCanonical的区别

简单看一下描述,例子最重要。

1、getPath():

返回定义时的路径,(就是你写什么路径,他就返回什么路径)

2、getAbsolutePath():

返回绝对路径,但不会处理“.”和“..”的情况

3、getCanonicalPath():

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

第一个例子:(使用:“.\\src\\test.txt”一个点路径)

File file = new File(".\\src\\test.txt");

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

结果:

.\src\test.txt
D:\workspace\java_io\.\src\test.txt
D:\workspace\java_io\src\test.txt

第二个例子:(使用:“..\\src\\test.txt”两个点路径)

File file = new File("..\\src\\test.txt");

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

结果:

..\src\test.txt
D:\workspace\java_io\..\src\test.txt
D:\workspace\src\test.txt 注意这个结果的路径,与一个点时不一样;因为他解析了“.”和“..”的情况。

第三个例子:(使用:“D:\\test\\absoluteTest.txt”绝对路径)

File file = new File("D:\\test\\absoluteTest.txt");

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

结果:

D:\test\absoluteTest.txt
D:\test\absoluteTest.txt
D:\test\absoluteTest.txt

结论:

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

2、当输入为相对路径时:

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

2.2、getAbsolutePath()返回的其实是user.dir+getPath()的内容,从上面看:D:\workspace\java_io\.\src\test.txt,D:\workspace\java_io\..\src\test.txt,可以得出。

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

以上这篇详谈java中File类getPath()、getAbsolutePath()、getCanonical的区别就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • java中File类的使用方法

    构造函数 复制代码 代码如下: public class FileDemo {     public static void main(String[] args){         //构造函数File(String pathname)         File f1 =new File("c:\\abc\\1.txt");         //File(String parent,String child)         File f2 =new File("c:\\a

  • 详谈java中File类getPath()、getAbsolutePath()、getCanonical的区别

    简单看一下描述,例子最重要. 1.getPath(): 返回定义时的路径,(就是你写什么路径,他就返回什么路径) 2.getAbsolutePath(): 返回绝对路径,但不会处理"."和".."的情况 3.getCanonicalPath(): 返回的是规范化的绝对路径,相当于将getAbsolutePath()中的"."和".."解析成对应的正确的路径 第一个例子:(使用:".\\src\\test.txt&qu

  • 一步步带你入门Java中File类

    目录 概述 构造方法 基本介绍 代码示例 常用方法 获取文件和目录的基本信息 创建和删除功能 目录遍历功能 补充:移动文件 总结 概述 要学习Java中的File类,首先我们要知道,在Java的API中File类的定义,即文件和目录路径的抽象表现形式,不是文件本身.所以在File类中,所涉及到的操作都只是关于文件名称和目录路径的,而不是文件内容,如果想对文件内容进行操作,还得需要学习I/O流(输入/输出流). 构造方法 基本介绍 只有构造了File类,我们后面才能对它进行操作.对于File类的构

  • 详谈Java中Object类中的方法以及finalize函数作用

    Object是所有类的父类,任何类都默认继承Object. 一.Object类中的方法 1.clone方法 保护方法,实现对象的浅复制,只有实现了Cloneable接口才可以调用该方法,否则抛出CloneNotSupportedException异常. 主要是JAVA里除了8种基本类型传参数是值传递,其他的类对象传参数都是引用传递,我们有时候不希望在方法里讲参数改变,这是就需要在类中复写clone方法. 2.getClass方法 final方法,获得运行时类型. 3.toString方法 该方法

  • 详谈Java中的Object、T(泛型)、?区别

    因为最近重新看了泛型,又看了些反射,导致我对Object.T(以下代指泛型).?产生了疑惑. 我们先来试着理解一下Object类,学习Java的应该都知道Object是所有类的父类,注意:那么这就意味着它的范围非常广!首先记住这点,如果你的参数类型时Object,那么的参数类型将非常广! <Thinking in Java>中说很多原因促成了泛型的出现,最引人注目的一个原因就是为了创造容器类.这个要怎么来理解呢?我的理解是,可以抛开这个为了创造容器类这个,而是回到泛型的目的是限定某种类型上来.

  • java中File类的构造函数及其方法

    1.IO流(Input Output) IO流技术主要的作用是解决设备与设备之间的数据传输问题,比如:硬盘的数据--读取到-->内存中 内存的数据--读取到-->硬盘中 键盘上的数据--读取到-->内存中 2.IO流技术的运用场景 导出报表.上传大头照.下载.解析xml文件.....等等 (数据保存到硬盘,该数据可以做到永久性保存.数据一般以文件的形式保存到硬盘上.sun使用一个File类来描述文件或者文件夹) 3.File类的构造函数(方法) File(String pathname)

  • Java中File类中常用方法详解

    java.io包下的File类用于描述和创建一个文件或文件夹对象,只能对文件或文件夹做一些简单操作,不能修改文件的内容,功能比较有限.下面是对于File类中常用方法的程序演示. [1] 演示程序一 package pack01; import java.io.*; import java.sql.Date; public class FileTest { public static void main(String[] args) { File file1 = new File("d:/TEST

  • java中File类应用遍历文件夹下所有文件

    本文要求遍历指定文件夹下的所有文件,包括子文件夹下的文件,供大家参考,具体内容如下 代码: package 遍历文件夹所有文件; import java.io.File; public class Test { public static void main(String[] args){ File file=new File("D:\\tcb\\周总结"); filesDirs(file); } //使用递归遍历文件夹及子文件夹中文件 public static void files

  • Java中File文件操作类的基础用法

    前言 众所周知Java提供File类,让我们对文件进行操作,下面就来简单整理了一下File类的用法. 话不多说了,来一起看看详细的介绍吧 1.基本概念 File:文件和目录路径名的抽象表示形式,代表文件或者文件夹. 2.构造方法 // 根据parent抽象路径名和child路径名字符串创建一个新File实例 File(File parent, String child) // 通过将给定路径名字符串转换为抽象路径名来创建一个新File实例 File(String pathname) // 根据p

  • Java中File类方法详解以及实践

    目录 File类概述 File类常用构造器 File类常用方法 常用方法示例 createTempFile临时文件创建示例 FilenameFilter文件过滤器示例 总结 File类概述 File类是java.io包下代表与平台无关的文件和目录.File可以新建.删除.重命名文件和目录,但是不能访问文件内容本身,如果需要访问内容的话,需要通过输入/输出流进行访问. File类可以使用文件路径字符串创建File实例,路径既可以是绝对路径,也可以是相对路径.一般相对路径的话是由系统属性user.d

随机推荐