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

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的区别就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持聚米学院。

java中的path类_详谈java中File类getPath()、getAbsolutePath()、getCanonical的区别相关推荐

  1. Java全栈(二)JavaSE:25.File类和IO流

    1 java.io.File类 1.1 概述 File类是java.io包下代表与平台无关的文件和目录,也就是说如果希望在程序中操作文件和目录都可以通过File类来完成,File类能新建.删除.重命名 ...

  2. Java常用类System、Math和File类

    Java 文章目录 Java 一.System:系统类 二.Math 数学类 三.File:文件类 一.System:系统类 System中包含一些有用的类字段和方法,不能够进行实例化 public ...

  3. 【源码+图片素材】Java王者荣耀游戏开发_开发Java游戏项目【王者荣耀】1天搞定!!!腾讯游戏_Java课程设计_Java实战项目_Java初级项目

    王者荣耀是当下热门手游之一,小伙伴们是否想过如何制作一款属于自己的王者荣耀游戏呢? 本课程讲解了一个王者荣耀游戏的详细编写流程,即使你是刚入门Java的新手,只要你简单掌握了该游戏所需要的JavaSE ...

  4. java path类_基于java Files类和Paths类的用法(详解)

    Java7中文件IO发生了很大的变化,专门引入了很多新的类: import java.nio.file.DirectoryStream; import java.nio.file.FileSystem ...

  5. java final 类_在Java中,final修饰的类有什么特点

    展开全部 关于Java中的32313133353236313431303231363533e4b893e5b19e31333264663736final(2010-09-09 14:19:48)转载▼ ...

  6. spring 加载java类_在Spring中基于Java类进行配置的完整步骤

    在Spring中基于Java类进行配置的完整步骤 发布于 2020-7-7| 复制链接 基于Java配置选项,可以编写大多数的Spring不用配置XML,下面 前言JavaConfig 原来是 Spr ...

  7. JAVA设计一个电视机类_漫谈Java程序设计中的接口应用

    Java语言提供了一种接口(interface)机制.这种接口机制使Java的面向对象编程变得更加灵活.我们可以用接口来定义一个类的表现形式,但接口不能包含任何实现.在<Thinking in ...

  8. java打印已经被加载的类_使用URLClassLoader加载类,不会报错,但被加载类中的内容也没有打印出来...

    被加载类和加载类的程序在一个文件夹下: 运行没有任何结果: D:java_exercise>javac URLTest.java D:java_exercise>java URLTest ...

  9. java简单通讯录的实现02person类_用java实现简单的小游戏(你一定玩过)

    用java实现简单的小游戏(你一定玩过) 对于java初学者来说,通过一些学习小游戏来对swing学习以及对java基础的学习是一个好的方法,同时也给学习带来了很多的乐趣,接下来就给大家分享一个jav ...

最新文章

  1. 搭建OpenStack中的glance报错 403 503
  2. iBATIS学习笔记开篇
  3. 黑马程序员pink老师前端入门教程,零基础必看的h5(html5)+css3+移动端前端视频教程(CSS字体,文本)
  4. 如何将静态网页通过nginx访问
  5. 关于VS环境下制作和使用静态库和动态库
  6. 数据库:SQLServer中游标的用法笔记
  7. Mysql 必知必会(一)
  8. redis nosql_NoSql数据库:Cassandra,Mongo,Redis数据库比较
  9. python句柄无效_subprocess.Popen 运行windows命令出现“句柄无效”报错的解决方法
  10. C语言变量初始化是必须的
  11. springboot tomcat启动
  12. 开源风云 20 年!
  13. IoT:大端与小端字节数据详解
  14. Java 虚拟机启动
  15. 三菱plc可以用c语言编程吗,三菱PLC高手进-c语言编程题库
  16. 基于Java+SpringBoot+vue+elementui农产品物流系统详细设计实现
  17. Oracle | 初级-第二章 Oracle安装配置
  18. 2015年计算机大会----顶级盛宴
  19. 自定义邮箱和手机号码的校验规则
  20. Flink菜鸟教程(二)——时间概念

热门文章

  1. 构建根文件系统(2)Busybox init 进程
  2. Disable anchor tag的javascript代码(兼容IE和Firefox)
  3. 星跃计划 | 新项目持续招募中!MSR Asia-MSR Redmond 联合科研计划邀你申请!
  4. C# 使用Timer控件设置时间间隔
  5. 使用Redis set 解决数据的唯一性问题
  6. 基于Yarp实现内网http穿透
  7. 又到618,.NET 千万级秒杀架构到底有多牛
  8. 聊一聊Jmeter与多接口测试
  9. 如何在 C# 中使用 const,readonly,static
  10. Magicodes.IE 3.0重磅设计畅谈