先说总结

  • 总结:

    • getPath:返回的是构造时的参数
    • getAbsolutePath:返回的是文件所在目录的路径+构造时的参数
    • getCanonicalPath:返回的就是这个文件存储的绝对路径

学到file类之后,发现竟然有这么多获取path的方法,但是这些方法又各自都返回什么呢,各种有什么区别呢?

  1. 返回的值有什么区别呢?

    • 有疑问咱就动手敲代码实现来观察结果,看看区别。然后就尴尬了,结果是三个方法的返回值完全一模一样

    • 之后我查阅资料,但是都找不到问题所在,这个问题好像关心的人很少,没有这类解答。于是我就去看汉化jdk发现根本读不懂,感觉就是给懂的人读的,然后我硬着头皮去看了看英文版的jdk,发现了其中的奥妙所在。
      • 首先getPath和getAbsolutePath做比较,他们的不同体现在,file类构造时给的路径不同才会有所不同。

        • 结果显示
          • file类构造时,参数为相对路径时

            • getPath会直接返回构造时的参数路径
            • getAbsolutePath会返回目录路径+构造时的参数路径
          • file类构造时,参数为绝对路径时
            • getPath会直接返回构造时的参数路径
            • getAbsolutePath会返回全路径
      • getPath和getAbsolutePath和getCanonicalPath做比较

        • 总结由下图总结:

          • getPath:返回的是构造时的参数
          • getAbsolutePath:返回的是文件所在目录的路径+构造时的参数
          • getCanonicalPath:返回的就是这个文件存储的绝对路径
  2. 各种都在什么情况下使用呢?

持续更新

java file类的getPath和getAbsolutePath和getCanonicalPath 的疑问与解答相关推荐

  1. JAVA中File类的getPath()、getAbsolutePath()、getCanonical()

    1.getPath(): 返回定义时的路径,(就是你写什么路径,他就返回什么路径) 2.getAbsolutePath(): 返回绝对路径,但不会处理"."和"-&quo ...

  2. Java获取文件path—getPath、getAbsolutePath、getCanonicalPath区别

    一.三者相同点 1.路径分隔符根据操作系统改变,Windows操作系统使用"\"分隔,Unix操作系统使用"/"分隔. 2.路径最后一个字符不为分隔符. 二.g ...

  3. Java File类之getPath | getAbsolutePath | getCanonicalPath

    一. API 以下是3个方法的api说明. getPath public String getPath() 将此抽象路径名转换为一个路径名字符串.所得字符串使用默认名称分隔符分隔名称序列中的名称. 返 ...

  4. Java下的路径getPath,getAbsolutePath和getCanonicalPath

    1.getPath 以构造路径作为返回值. 2.getAbsolutePath 以当前路径+构造路径作为返回值. 3.getCanonicalPath 以全路径作为返回值(如果构造路径包含.或..,会 ...

  5. java File类 常用相关函数

    java File类 相关函数 1.构建函数 2.判断相关函数 4.创建相关函数 5.删除相关函数 6.获取相关函数 1.构建函数 /*** File 构造方法* file 常用构造方法* 1: Fi ...

  6. java File类

    java File类 今天我要总结一下java File类.这个是一个很重要的类. 首先是我画的思维导图. 还写了一些自己写的代码. /*** Date : 2017/6/24* Author : H ...

  7. Java File类总结和FileUtils类

    Java File类总结和FileUtils类 文件存在和类型判断 创建出File类的对象并不代表该路径下有此文件或目录. 用public boolean exists()可以判断文件是否存在. Fi ...

  8. 探究Java File类中list()、listFiles()的使用及区别,认识和使用匿名内部类

    转载自     探究Java File类中list().listFiles()的使用及区别,认识和使用匿名内部类 内容概要: 1.认识File类: 2.File的构造函数: 3.list()及其重载方 ...

  9. getPath() ;getAbsolutePath();getCanonicalPath()的区别

    前言: java中File类的中的三个方法的区别: getPath():getAbsolutePath():getCanonicalPath() : 1.getPath(): 返回的是定义时的路径,这 ...

最新文章

  1. SQLServer “无法对数据库‘XXX‘ 执行删除,因为它正用于复制”的解决方法
  2. nefu 753 n!末尾有多少个0
  3. 加你用移动端数据爬取
  4. 汉明距离—leetcode461
  5. 大剑无锋之不都说面试不问mybatis,为什么我被虐了。。。【mybatis面试题】
  6. 构建SpringBoot第一个Demo
  7. linux添加后门方法,超初级的linux后门制作方法
  8. 设计模式之单例模式8种实现方式,其三:懒汉式(线程不安全)
  9. linux中备份mysql数据库命令_linux备份mysql数据库命令
  10. 微信小程序复制就好-JS工具eval5,用JS替换VBA处理Excel数据
  11. 数据挖掘笔记——概念学习
  12. k3导入账套_K3金蝶维护绝密(内部技术教程)
  13. 博客营销成功案例分析
  14. 触摸屏 触摸操作 鼠标点击事件
  15. 二维码QR 码纠错级别
  16. matlab实例一之Forward Collision Warning Using Sensor Fusion (视觉和毫米波雷达)
  17. PAT_乙级_1013_筱筱
  18. 疫情可视化(visualization)
  19. python普通常量_以下属于Python普通常量的是(
  20. 根号6用计算机怎么算,根号6等于多少怎么算

热门文章

  1. java适合女生学吗_【软帝学院】女生不适合学习java?其实女生学java更有优势,更好就业!...
  2. Android 的LinearLayout (线性布局)和RelativeLayout (相对布局)介绍
  3. 【健康知识】46个不可不知的生活小常识 !!!
  4. CIMCAI中集飞瞳全球集装箱人工智能领军者祝大家新春快乐
  5. 使用socket.io做一个简单的WEB聊天室
  6. 我就是我,这世上不一样的烟火
  7. 同花顺YB抄底神器指标公式源码
  8. 拿鸡蛋python_扔鸡蛋问题python编写
  9. 数据结构:哈夫曼树【转载自mcgrady https://www.cnblogs.com/mcgrady/p/3329825.html#_label0】
  10. 苹ios和鸿蒙,鸿蒙系统更像iOS还是苹果呢?看到这些,你失望吗?