赞
踩
总概述:
String getAbsolutePath() 返回此抽象路径名的绝对路径名字符串。
String getPath() 将此抽象路径名转换为路径名字符串。
String getName() 返回由此抽象路径名表示的文件或目录的名称。
long length() 返回由此抽象路径名表示的文件的长度。
抽象路径名====File文件
在理解什么是抽象路径名的时候,简单理解为File文件即可
- package com.baidu;
-
- import java.io.File;
- /*
- 总概述:
- String getAbsolutePath() 返回此抽象路径名的绝对路径名字符串。
- String getPath() 将此抽象路径名转换为路径名字符串。
- String getName() 返回由此抽象路径名表示的文件或目录的名称。
- long length() 返回由此抽象路径名表示的文件的长度。
- 抽象路径名====File文件
- */
- public class Test03File {
- public static void main(String[] args) {
- show01();
- show02();
- show03();
- show04();
- }
-
-
- private static void show01(){
- System.out.println("======第一部分getAbsolutePath=====");
- /*
- show01部分主要讲解getAbsolutePath
- 官方用法:
- String getAbsolutePath() 返回此抽象路径名的绝对路径名字符串。
- */
- //尝试获取f1构造方法里f1的绝对路径,OK
- File f1 = new File("F:\\acan\\IdeaProjects\\a.txt");
- String absolutePath1 = f1.getAbsolutePath();
- System.out.println(absolutePath1);
- System.out.println("============华丽的分割线=============");
-
- //尝试获取f1构造方法中f1的相对
- String path1 = f1.getPath();
- System.out.println(path1);
- System.out.println("===========");
- System.out.println("f1输出的内容为:"+f1);
-
-
-
- /*
- toString方法就是掉用的getPath方法
- 源码:
- public String toString() {
- return getPath();
- }
- */
-
- System.out.println("f1.toString方法本质就是掉用getPath方法:"+f1.toString());
-
-
-
-
- }
-
- private static void show02(){
- System.out.println("=====第二部分getPath====");
- /*
- show02主要讲解getPath方法
- String getPath() 将此抽象路径名转换为路径名字符串。
- */
- File f2 = new File("a.txt");
- String absolutePath2 = f2.getAbsolutePath();
- System.out.println(absolutePath2);//相对于当前项目的路径,当前项目的路径在F:\acan\IdeaProjects\hadoopdaima
- System.out.println("=========华丽的分割线==========");
-
- //尝试获取f2构造方法中的相对路径文件
- String path1 = f2.getPath();
- System.out.println(path1);
- }
- private static void show03(){
- System.out.println("====第三部分getName=====");
- /*
- show03方法主要讲解getName方法
- getName方法官方用法如下
- String getName() 返回由此抽象路径名表示的文件或目录的名称。
- 结尾要么是文件,要么是文件夹
- */
- File f3 = new File("F:\\acan\\IdeaProjects\\a.txt");
- String name1 = f3.getName();
- /*
- getName源码
- public String getName() {
- int index = path.lastIndexOf(separatorChar);
- if (index < prefixLength) return path.substring(prefixLength);
- return path.substring(index + 1);
- }
- */
- System.out.println("name1返回的结果:"+name1);
- File f4 = new File("F:\\acan\\IdeaProjects");
- String name2 = f4.getName();
- System.out.println("name2的返回结果:"+name2);
-
- }
- private static void show04(){
- System.out.println("====第四部分length=====");
- /*
- show04部分主要讲解 length方法
- length方法的官方用法如下:
- long length() 返回由此抽象路径名表示的文件的长度。
- 获取的是构造方法指定的大小,以字节为单位的
- 注意:
- 文件夹是没有大小概念的
- 如果构造方法中给出的路径不存在,那么length方法返回0
- */
- File f5 = new File("F:\\develop\\a\\a.txt");
- long length1 = f5.length();
- System.out.println("a.txt文件的大小:"+length1);//以字节为单位
-
- File f6 = new File("F:\\develop\\a\\1.jpg");
- long length2 = f6.length();
- System.out.println("1.jpg文件的大小:"+length2);
-
- File f7 = new File("F:\\develop\\a\\2.jpg");
- long length3 = f7.length();
- System.out.println("来看一下2.jpg(我电脑里没有)返回的结果是:"+length3);
-
- File f8 = new File("F:\\develop\\a\\");
- long length4 = f8.length();
- System.out.println("文件夹的大小:"+length4);
-
-
- }
- }
程序运行结果:
- ======第一部分getAbsolutePath=====
- F:\acan\IdeaProjects\a.txt
- ============华丽的分割线=============
- F:\acan\IdeaProjects\a.txt
- ===========
- f1输出的内容为:F:\acan\IdeaProjects\a.txt
- f1.toString方法本质就是掉用getPath方法:F:\acan\IdeaProjects\a.txt
- =====第二部分getPath====
- F:\acan\IdeaProjects\hadoopdaima\a.txt
- =========华丽的分割线==========
- a.txt
- ====第三部分getName=====
- name1返回的结果:a.txt
- name2的返回结果:IdeaProjects
- ====第四部分length=====
- a.txt文件的大小:15
- 1.jpg文件的大小:236600
- 来看一下2.jpg(我电脑里没有)返回的结果是:0
- 文件夹的大小:0
File类中的普通方法有很多,这里仅仅是最常用到的4个
附录:
值得注意的是,文件夹是没有大小概念的,虽然在文件夹属性可以看到大小,但是那个大小是文件夹里面内容的总大小
没有大小概念就会返回0,构造方法中路径位置不存在,length方法也是会返回为0的
f1.toString方法其实本质上就是掉用了getPath的方法
直接打印f1就是打印了File构造方法中的传参的值
=================华丽的分割线=================
前几天课堂上,老师说起了new 标识符,一来一回的问答中,我想总结一下
大概和File file = new File();差不多的,那个是aspx文件格式的,new是来实例化对象的,继而去开辟一个空间
new后面跟着的是构造方法,构造方法的特点是构造方法的名称要和所在类的名称一致,构造方法没有返回值类型
构造方法有也可以传参,传参后调用的有参的构造方法
看一下Java中声明并实例化File类的时候,File构造方法写了些啥
- public File(String pathname) {
- if (pathname == null) {
- throw new NullPointerException();
- }
- this.path = fs.normalize(pathname);
- this.prefixLength = fs.prefixLength(this.path);
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。