java关于File

本文介绍了Java中的File类,用于操作文件和目录。它提供了创建、删除、获取文件信息的方法,如isDirectory(),isFile(),exists(),length()等。File还可以用来创建新文件、建立目录,并通过list()和listFiles()遍历文件系统。此外,文章还提及了使用递归的概念。
摘要由CSDN通过智能技术生成
File

File类的对象代表操作系统的文件,File封装了对文件进行:删除、获取信息、创建文件\文件夹等操作。

创建File对象,支持绝对路径和相对路径,可以是文件夹也可以是文件

File f = new File("文件绝对路径");        //从盘符开始
File f1 = new File("模块名/xxx");        //相对路径
File常用api

isDirectory()判断此路径名表示的File是否为文件夹

isFile()判断此路径名表示的File是否为文件

exists()判断此路径名表示的File是否存在

length()返回文件的大小(字节数量)

getAbsolutePath()返回文件的绝对路径

getPath()返回定义文件时使用的路径

getName()返回文件的名称,带后缀

lastModified()返回文件的最后修改时间(时间毫秒值)

package com.ieheima.test;

import java.io.File;

public class FileDemo2 {
    public static void main(String[] args) {
        File f = new File("D:\\resource\\aaa");
        //isDirectory()判断此路径名表示的File是否为文件夹
        System.out.println(f.isDirectory());        //true
        //isFile()判断此路径名表示的File是否为文件
        System.out.println(f.isFile());         //false
        //exists()判断此路径名表示的File是否存在
        System.out.println(f.exists());         //true
        //length()返回文件的大小(字节数量)
        System.out.println(f.length());         //0
        //getAbsolutePath()返回文件的绝对路径
        System.out.println(f.getAbsoluteFile());            //D:\resource\aaa
        //getPath()返回定义文件时使用的路径
        System.out.println(f.getPath());        //D:\resource\aaa
        //getName()返回文件的名称,带后缀
        System.out.println(f.getPath());            //D:\resource\aaa
        //lastModified()返回文件的最后修改时间(时间毫秒值)
        System.out.println(f.lastModified());           //1678840913361
        //格式化后输出时间
        System.out.println(new SimpleDateFormat("yyyy/MM/dd HH:mm:ss").format(f.lastModified()));   //2023/03/15 08:41:53
    }
}

File类创建文件和删除文件

createNewFile()创建一个新的空的文件

mkdir()只能创建一级文件夹

mkdirs()可以创建多级文件夹

delete方法默认只能删除文件和空文件夹,delete方法直接删除不走回收站

delete​()删除由此抽象路径名表示的文件或空文件夹

package com.ieheima.test;

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

public class FileDemo3 {
    public static void main(String[] args) {
        //createNewFile 创建一个文件
        File f = new File("file-app\\src\\data1.txt");
        try {
            System.out.println(f.createNewFile());      //true
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
        //创建一个一级目录
        File f2 = new File("D:/resource/ccc");
        System.out.println(f2.mkdir());                 //true

        //创建一个一级目录
        File f3 = new File("D:/resource/ddd/aa/bb");
        System.out.println(f3.mkdirs());                 //true
    }
}
File类的遍历功能

list()获取当前目录下所有的"一级文件名称"到一个字符串数组中去返回

listFiles()(常用)获取当前目录下所有的"一级文件对象"到一个文件对象数组中去返回(重点)

package com.ieheima.test;

import java.io.File;
import java.util.Arrays;

public class FileDemo4 {
    public static void main(String[] args) {
        File f = new File("D:\\resource");
        System.out.println(Arrays.toString(f.list()));      //[aaa, bbb, ccc, ddd, QQ图片20230313215113.jpg, TP6hatccess.txt, 笔记]
        System.out.println(Arrays.toString(f.listFiles()));     //[D:\resource\aaa, D:\resource\bbb, D:\resource\ccc, D:\resource\ddd, D:\resource\QQ图片20230313215113.jpg, D:\resource\TP6hatccess.txt, D:\resource\笔记]
    }
}
方法递归

方法调用自己的形式称为方法递归

package com.ieheima.test;

public class FileDemo5 {
    public static void main(String[] args) {
        //递归就1-n的阶乘
        System.out.println(f(5));       //120
        //求1-n的和
        System.out.println(f1(5));      //15
    }

    public static int f(int n){
        if(n==1){
            return 1;
        }else{
            return f(n-1)+n;
        }
    }

    public static i nt f1(int n){
        if(n==1){
            return 1;
        }else{
            return f(n-1)+n;
        }
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

亦简_yz

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值