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

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方法,如果有多级目录,只能一级一级的删除,执行一次删除一层

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

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 "-javaagent:D:\BaiduNetdiskDownload\IntelliJ IDEA 2023.2\lib\idea_rt.jar=6768:D:\BaiduNetdiskDownload\IntelliJ IDEA 2023.2\bin" -Dfile.encoding=UTF-8 -classpath F:\IdeaProjects\workspace\file-io-app\out\production\file-io-app com.csdn.d1_file.ListFiles
[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()(常用)
  • 只能遍历当前文件夹对象下的一级文件对象

你可能感兴趣的:(#,常用API,java,开发语言,File)