• File类常用方法


    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()返回文件 最后 修改时间毫秒值
    1. package com.csdn.d1_file;
    2. import java.io.File;
    3. import java.text.SimpleDateFormat;
    4. public class FileMethodDemo {
    5. public static void main(String[] args) {
    6. //1.绝对路径创建一个文件对象
    7. File f1 = new File("F:\\IdeaProjects\\workspace\\file-io-app\\src\\com\\csdn\\d1_file\\FileMethodDemo.java");
    8. //获取文件的绝对的路径
    9. File absoluteFile = f1.getAbsoluteFile();
    10. System.out.println(absoluteFile);//F:\IdeaProjects\workspace\file-io-app\src\com\csdn\d1_file\FileMethodDemo.java
    11. //获取文件定义的时候使用的路径
    12. String path = f1.getPath();
    13. System.out.println(path);//F:\IdeaProjects\workspace\file-io-app\src\com\csdn\d1_file\FileMethodDemo.java
    14. //获取文件的名称
    15. String name = f1.getName();
    16. System.out.println(name);//FileMethodDemo.java
    17. //获取文件的字节个数
    18. long length = f1.length();
    19. System.out.println(length);//1849
    20. //获取文件的最后修改时间
    21. long l = f1.lastModified();
    22. System.out.println(l);//1694952990458
    23. SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd/ HH:mm:ss");
    24. String format = sdf.format(l);
    25. System.out.println(format);//2023/09/17/ 20:16:15
    26. //判断文件是文件还是文件夹
    27. System.out.println(f1.isDirectory());//false
    28. System.out.println(f1.isFile());//true
    29. //判断路径是否存在
    30. System.out.println(f1.exists());//true
    31. //如果文件不存在,就不在判断文件是文件还是文件夹
    32. File file = new File("D:/csdn");
    33. System.out.println(file.isFile());//false
    34. System.out.println(file.isDirectory());//false
    35. System.out.println(file.exists());//false
    36. }
    37. }

    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数组中返回,包含隐藏内容
    1. package com.csdn.d1_file;
    2. import java.io.File;
    3. import java.util.Arrays;
    4. public class ListFiles {
    5. public static void main(String[] args) {
    6. //定位一个目录
    7. File f1 = new File("F:\\IdeaProjects");
    8. System.out.println(Arrays.toString(f1.list()));
    9. //遍历存在的文件夹
    10. File[] files = f1.listFiles();
    11. for (File file : files) {
    12. System.out.println(file.getAbsolutePath());
    13. }
    14. //遍历不存在的文件夹
    15. File dir = new File("D:\\aaa");
    16. System.out.println(Arrays.toString(dir.listFiles()));//null
    17. }
    18. }
    19. D:\Java\jdk-17\bin\java.exe
    20. [atguigujavaweb, basic-code, basic-code-code, DataStructures, DesignPattern, itcastjavaweb, JavaSenior, javaweb, JVMDemo, maven-basic, mybatis1, MySQL0724, spring1, tank, workspace, 基于Springboot大型物流运输企业库存管理系统]
    21. F:\IdeaProjects\atguigujavaweb
    22. F:\IdeaProjects\basic-code
    23. F:\IdeaProjects\basic-code-code
    24. F:\IdeaProjects\DataStructures
    25. F:\IdeaProjects\DesignPattern
    26. F:\IdeaProjects\itcastjavaweb
    27. F:\IdeaProjects\JavaSenior
    28. F:\IdeaProjects\javaweb
    29. F:\IdeaProjects\JVMDemo
    30. F:\IdeaProjects\maven-basic
    31. F:\IdeaProjects\mybatis1
    32. F:\IdeaProjects\MySQL0724
    33. F:\IdeaProjects\spring1
    34. F:\IdeaProjects\tank
    35. F:\IdeaProjects\workspace
    36. F:\IdeaProjects\基于Springboot大型物流运输企业库存管理系统
    37. null
    38. Process finished with exit code 0

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

    • public File[ ]  listFiles()(常用)
    • 只能遍历当前文件夹对象下的一级文件对象
  • 相关阅读:
    SMC IRV系列手动真空调节器低压控制性能考核试验
    useRef 与 createRef 区别
    C语言之文件操作篇(2)
    php实战案例记录(6)伪静态设置
    js截取字符串中某个字符前后的内容
    云服务器常见的几种防护方法
    C#之泛型、委托、事件及其使用
    Vue----计算属性
    Android逆向学习(五)app进行动态调试
    26 | 信任始于握手:TLS1.2连接过程解析
  • 原文地址:https://blog.csdn.net/m0_65152767/article/details/132951393