zoukankan      html  css  js  c++  java
  • java里getPath、 getAbsolutePath、getCanonicalPath的区别

    本文链接:https://blog.csdn.net/wh_19910525/article/details/9314675


    File的这三个方法在api中都有说明,仅以程序为例说明。

    package test;

    import java.io.File;
    import java.io.IOException;

    public class TestFilePath {

     
     public static void main(String[] args) {
      // TODO Auto-generated methodstub

      System.out.println(System.getProperty("user.dir"));
      
      try {
       System.out.println("-----默认相对路径:取得路径不同------");
       File file1 =new File("..\src\test1.txt");
       System.out.println(file1.getPath());
       System.out.println(file1.getAbsolutePath());
       System.out.println(file1.getCanonicalPath());
       System.out.println("-----默认相对路径:取得路径不同------");
       File file =new File(".\test1.txt");
       System.out.println(file.getPath());
       System.out.println(file.getAbsolutePath());
       System.out.println(file.getCanonicalPath());
       
       System.out.println("-----默认绝对路径:取得路径相同------");
       File file2 =new File("D:\workspace\test\test1.txt");
       System.out.println(file2.getPath());
       System.out.println(file2.getAbsolutePath());
       System.out.println(file2.getCanonicalPath());
      } catch (IOException e) {
       // TODOAuto-generated catch block
       e.printStackTrace();
      }
     }

    }

    程序执行结果如下:

    F:eclipseworkspace estejb
    -----默认相对路径:取得路径不同------
    ..src est1.txt
    F:eclipseworkspace estejb..src est1.txt
    F:eclipseworkspacesrc est1.txt
    -----默认相对路径:取得路径不同------
    . est1.txt
    F:eclipseworkspace estejb. est1.txt
    F:eclipseworkspace estejb est1.txt
    -----默认绝对路径:取得路径相同------
    D:workspace est est1.txt
    D:workspace est est1.txt
    D:workspace est est1.txt
    结论:

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

    当输入为相对路径时:

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

    getAbsolutePath()返回的其实是user.dir+getPath()的内容,从上面F:eclipseworkspace estejb、F:eclipseworkspace estejb..src est1.txt、F:eclipseworkspace estejb. est1.txt可以得出。

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

    ————————————————
    版权声明:本文为CSDN博主「wh_19910525」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/wh_19910525/article/details/9314675

  • 相关阅读:
    正则只能输入数字小数点后保留4位
    redis基础之安装和配置
    IDEA 2017下载及注册码
    springcloud zuul 使用zuulfilter 修改请求路径和响应头
    JPA 多表分页查询
    springboot整合JPA创建数据库表失败
    springboot整合fastjson 将null转成空字符串
    Go 结构体和map等数据结构转json字符串
    go项目找不到包问题
    设计模式--策略模式
  • 原文地址:https://www.cnblogs.com/renjiaqi/p/11454272.html
Copyright © 2011-2022 走看看