File类常用方法( public File[ ] listFiles())获取当前目录下所有的一级文件对象到一个文件对象数组中去返回

本文介绍了Java中的File类,包括判断文件类型、获取文件信息、创建和删除文件、以及遍历文件夹的方法,如isDirectory(),isFile(),exists(),mkdir(),delete(),和listFiles()等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、File类的判断文件类型、获取文件信息功能

方法名称说明
public  boolean  isDirectory()测试此 抽象路径名 表示的 File是否为 文件夹
public  boolean  isFile()测试此 抽象路径名 表示的 File 是否为 文件   (狭义概念)
public  boolean   exists()测试此 抽象路径名 表示的 File 是否 存在
public  String  getAbsolutePath()返回此 抽象路径名 的 绝对 路径 名字符串
public  String  getPath()将此 抽象路径名 转换为 路径 名字符串

public String  getName()

返回由此 抽象路径名 表示的 文件文件夹名称
public  long  lastModified()返回文件 最后 修改时间毫秒值
package com.csdn.d1_file;

import java.io.File;
import java.text.SimpleDateFormat;

public  class FileMethodDemo {

    public static void main(String[] args) {

        //1.绝对路径创建一个文件对象
        File f1 = new File("F:\\IdeaProjects\\workspace\\file-io-app\\src\\com\\csdn\\d1_file\\FileMethodDemo.java");

        //获取文件的绝对的路径
        File absoluteFile = f1.getAbsoluteFile();
        System.out.println(absoluteFile);//F:\IdeaProjects\workspace\file-io-app\src\com\csdn\d1_file\FileMethodDemo.java

        //获取文件定义的时候使用的路径
        String path = f1.getPath();
        System.out.println(path);//F:\IdeaProjects\workspace\file-io-app\src\com\csdn\d1_file\FileMethodDemo.java

        //获取文件的名称
        String name = f1.getName();
        System.out.println(name);//FileMethodDemo.java

        //获取文件的字节个数
        long length = f1.length();
        System.out.println(length);//1849

        //获取文件的最后修改时间
        long l = f1.lastModified();
        System.out.println(l);//1694952990458
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd/ HH:mm:ss");
        String format = sdf.format(l);
        System.out.println(format);//2023/09/17/ 20:16:15

        //判断文件是文件还是文件夹
        System.out.println(f1.isDirectory());//false
        System.out.println(f1.isFile());//true

        //判断路径是否存在
        System.out.println(f1.exists());//true

        //如果文件不存在,就不在判断文件是文件还是文件夹
        File file = new File("D:/csdn");
        System.out.println(file.isFile());//false
        System.out.println(file.isDirectory());//false
        System.out.println(file.exists());//false
    }
}

2、File类创建、删除文件的功能

方法名称        说明
public boolean createNewFile()创建一个新的空的文件
public  boolean  mkdir()只能创建一级文件夹
public boolean  mkdirs()可以创建多级文件夹
public boolean  delete()删除由此对象路径表示的 文件 或 空文件夹 
  • delete方法直接删除不走回收站;如果删除的是一个文件,且文件没有被占用则直接删除
  • delete方法默认只能删除空文件夹
  • delete方法,如果有多级目录,只能一级一级的删除,执行一次删除一层

3、File类的遍历功能

方法名称说明
public String[ ]  list()获取当前 目录 下所有的“一级文件名称”到一个字符串数组中去返回。
public  File[ ]   listFiles()(常用)获取当前 目录 下所有的“一级文件对象”到一个文件对象数组中去返回(重点)

3.1、listFiles方法注意事项:

  • 当调用者不存在时,返回null
  • 当调用者是一个文件时,返回null
  • 当调用者是一个空文件夹时,返回一个长度为0的数组
  • 当调用者是一个 有内容的文件夹 时,将里面所有文件和文件夹的路径放在File数组中返回。(这是符号我们要求的)
  • 当调用者是一个有隐藏文件的文件夹时,将里面所有文件和文件夹的路径放在File数组中返回,包含隐藏内容
package com.csdn.d1_file;
import java.io.File;
import java.util.Arrays;
public class ListFiles {

    public static void main(String[] args) {

        //定位一个目录
        File f1 = new File("F:\\IdeaProjects");
        System.out.println(Arrays.toString(f1.list()));

        //遍历存在的文件夹
        File[] files = f1.listFiles();
         for (File file : files) {
            System.out.println(file.getAbsolutePath());
        }

        //遍历不存在的文件夹
        File dir = new File("D:\\aaa");
        System.out.println(Arrays.toString(dir.listFiles()));//null
    }
}
D:\Java\jdk-17\bin\java.exe
[atguigujavaweb, basic-code, basic-code-code, DataStructures, DesignPattern, itcastjavaweb, JavaSenior, javaweb, JVMDemo, maven-basic, mybatis1, MySQL0724, spring1, tank, workspace, 基于Springboot大型物流运输企业库存管理系统]
F:\IdeaProjects\atguigujavaweb
F:\IdeaProjects\basic-code
F:\IdeaProjects\basic-code-code
F:\IdeaProjects\DataStructures
F:\IdeaProjects\DesignPattern
F:\IdeaProjects\itcastjavaweb
F:\IdeaProjects\JavaSenior
F:\IdeaProjects\javaweb
F:\IdeaProjects\JVMDemo
F:\IdeaProjects\maven-basic
F:\IdeaProjects\mybatis1
F:\IdeaProjects\MySQL0724
F:\IdeaProjects\spring1
F:\IdeaProjects\tank
F:\IdeaProjects\workspace
F:\IdeaProjects\基于Springboot大型物流运输企业库存管理系统
null

Process finished with exit code 0

4、如何遍历文件夹下的文件对象,使用哪个API,有什么特点?

  • public File[ ]  listFiles()(常用)
  • 只能遍历当前文件夹对象下的一级文件对象
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值