当前位置:   article > 正文

Java中File类中getAbsolutePath、getPath​、getName、length普通方法用法示例代码

getabsolutepath

 File类中getAbsolutePath、getPath​、getName、length普通方法用法示例

总概述:
        String getAbsolutePath​() 返回此抽象路径名的绝对路径名字符串。
        String getPath​() 将此抽象路径名转换为路径名字符串。
        String getName​() 返回由此抽象路径名表示的文件或目录的名称。
        long length​() 返回由此抽象路径名表示的文件的长度。

         抽象路径名====File文件

在理解什么是抽象路径名的时候,简单理解为File文件即可

  1. package com.baidu;
  2. import java.io.File;
  3. /*
  4. 总概述:
  5. String getAbsolutePath​() 返回此抽象路径名的绝对路径名字符串。
  6. String getPath​() 将此抽象路径名转换为路径名字符串。
  7. String getName​() 返回由此抽象路径名表示的文件或目录的名称。
  8. long length​() 返回由此抽象路径名表示的文件的长度。
  9. 抽象路径名====File文件
  10. */
  11. public class Test03File {
  12. public static void main(String[] args) {
  13. show01();
  14. show02();
  15. show03();
  16. show04();
  17. }
  18. private static void show01(){
  19. System.out.println("======第一部分getAbsolutePath=====");
  20. /*
  21. show01部分主要讲解getAbsolutePath​
  22. 官方用法:
  23. String getAbsolutePath​() 返回此抽象路径名的绝对路径名字符串。
  24. */
  25. //尝试获取f1构造方法里f1的绝对路径,OK
  26. File f1 = new File("F:\\acan\\IdeaProjects\\a.txt");
  27. String absolutePath1 = f1.getAbsolutePath();
  28. System.out.println(absolutePath1);
  29. System.out.println("============华丽的分割线=============");
  30. //尝试获取f1构造方法中f1的相对
  31. String path1 = f1.getPath();
  32. System.out.println(path1);
  33. System.out.println("===========");
  34. System.out.println("f1输出的内容为:"+f1);
  35. /*
  36. toString方法就是掉用的getPath方法
  37. 源码:
  38. public String toString() {
  39. return getPath();
  40. }
  41. */
  42. System.out.println("f1.toString方法本质就是掉用getPath方法:"+f1.toString());
  43. }
  44. private static void show02(){
  45. System.out.println("=====第二部分getPath====");
  46. /*
  47. show02主要讲解getPath方法
  48. String getPath​() 将此抽象路径名转换为路径名字符串。
  49. */
  50. File f2 = new File("a.txt");
  51. String absolutePath2 = f2.getAbsolutePath();
  52. System.out.println(absolutePath2);//相对于当前项目的路径,当前项目的路径在F:\acan\IdeaProjects\hadoopdaima
  53. System.out.println("=========华丽的分割线==========");
  54. //尝试获取f2构造方法中的相对路径文件
  55. String path1 = f2.getPath();
  56. System.out.println(path1);
  57. }
  58. private static void show03(){
  59. System.out.println("====第三部分getName=====");
  60. /*
  61. show03方法主要讲解getName方法
  62. getName方法官方用法如下
  63. String getName​() 返回由此抽象路径名表示的文件或目录的名称。
  64. 结尾要么是文件,要么是文件夹
  65. */
  66. File f3 = new File("F:\\acan\\IdeaProjects\\a.txt");
  67. String name1 = f3.getName();
  68. /*
  69. getName源码
  70. public String getName() {
  71. int index = path.lastIndexOf(separatorChar);
  72. if (index < prefixLength) return path.substring(prefixLength);
  73. return path.substring(index + 1);
  74. }
  75. */
  76. System.out.println("name1返回的结果:"+name1);
  77. File f4 = new File("F:\\acan\\IdeaProjects");
  78. String name2 = f4.getName();
  79. System.out.println("name2的返回结果:"+name2);
  80. }
  81. private static void show04(){
  82. System.out.println("====第四部分length=====");
  83. /*
  84. show04部分主要讲解 length方法
  85. length方法的官方用法如下:
  86. long length​() 返回由此抽象路径名表示的文件的长度。
  87. 获取的是构造方法指定的大小,以字节为单位的
  88. 注意:
  89. 文件夹是没有大小概念的
  90. 如果构造方法中给出的路径不存在,那么length方法返回0
  91. */
  92. File f5 = new File("F:\\develop\\a\\a.txt");
  93. long length1 = f5.length();
  94. System.out.println("a.txt文件的大小:"+length1);//以字节为单位
  95. File f6 = new File("F:\\develop\\a\\1.jpg");
  96. long length2 = f6.length();
  97. System.out.println("1.jpg文件的大小:"+length2);
  98. File f7 = new File("F:\\develop\\a\\2.jpg");
  99. long length3 = f7.length();
  100. System.out.println("来看一下2.jpg(我电脑里没有)返回的结果是:"+length3);
  101. File f8 = new File("F:\\develop\\a\\");
  102. long length4 = f8.length();
  103. System.out.println("文件夹的大小:"+length4);
  104. }
  105. }

程序运行结果:

  1. ======第一部分getAbsolutePath=====
  2. F:\acan\IdeaProjects\a.txt
  3. ============华丽的分割线=============
  4. F:\acan\IdeaProjects\a.txt
  5. ===========
  6. f1输出的内容为:F:\acan\IdeaProjects\a.txt
  7. f1.toString方法本质就是掉用getPath方法:F:\acan\IdeaProjects\a.txt
  8. =====第二部分getPath====
  9. F:\acan\IdeaProjects\hadoopdaima\a.txt
  10. =========华丽的分割线==========
  11. a.txt
  12. ====第三部分getName=====
  13. name1返回的结果:a.txt
  14. name2的返回结果:IdeaProjects
  15. ====第四部分length=====
  16. a.txt文件的大小:15
  17. 1.jpg文件的大小:236600
  18. 来看一下2.jpg(我电脑里没有)返回的结果是:0
  19. 文件夹的大小:0

File类中的普通方法有很多,这里仅仅是最常用到的4个

附录:

值得注意的是,文件夹是没有大小概念的,虽然在文件夹属性可以看到大小,但是那个大小是文件夹里面内容的总大小

没有大小概念就会返回0,构造方法中路径位置不存在,length方法也是会返回为0的

f1.toString方法其实本质上就是掉用了getPath的方法

直接打印f1就是打印了File构造方法中的传参的值

=================华丽的分割线=================

前几天课堂上,老师说起了new 标识符,一来一回的问答中,我想总结一下

大概和File file = new File();差不多的,那个是aspx文件格式的,new是来实例化对象的,继而去开辟一个空间

new后面跟着的是构造方法,构造方法的特点是构造方法的名称要和所在类的名称一致,构造方法没有返回值类型

构造方法有也可以传参,传参后调用的有参的构造方法

看一下Java中声明并实例化File类的时候,File构造方法写了些啥

  1. public File(String pathname) {
  2. if (pathname == null) {
  3. throw new NullPointerException();
  4. }
  5. this.path = fs.normalize(pathname);
  6. this.prefixLength = fs.prefixLength(this.path);
  7. }

 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小桥流水78/article/detail/819861
推荐阅读
相关标签
  

闽ICP备14008679号