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

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

总概述:
        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);
    }

 

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值