Java File类详解(史上最全12个常用方法案例)

本文详细介绍了Java中File类的构造方法和常用操作方法,如文件和目录的创建、检查、删除、路径获取等,帮助开发者更好地进行文件系统管理。
摘要由CSDN通过智能技术生成

名人名言

三更灯火五更鸡,正是男儿读书时。 —颜真卿

一、开篇介绍

Java中的File类是用于表示文件和目录路径名的抽象表示。它提供了一组方法,可以用来操作文件系统中的文件和目录,包括创建、删除、重命名、检查属性等操作。

二、常用构造器

File类提供了多个构造方法来创建File对象,以表示文件或目录。以下是File类的常用构造方法:

1. File(String pathname)

通过指定文件路径名创建File对象。

  • 参数:pathname为文件的路径名,可以是绝对路径或者相对路径。
  • 示例:
    File file = new File("example.txt");
    

2. File(String parent, String child)

通过指定父路径和子路径创建File对象。

  • 参数:parent为父路径名,child为子路径名。
  • 示例:
    File file = new File("C:\\example", "example.txt");
    

3. File(File parent, String child)

通过指定父File对象和子路径创建File对象。

  • 参数:parent为父File对象,child为子路径名。
  • 示例:
    File parentDir = new File("C:\\example");
    File file = new File(parentDir, "example.txt");
    

三、常用方法

Java中的File类提供了许多常用的方法,用于操作文件和目录。下面是一些常用的File类方法:

  1. exists():检查文件或目录是否存在。
  2. createNewFile():创建新文件。如果文件已经存在,则不会创建,并返回false。
  3. mkdir():创建目录。如果目录已经存在,则不会创建,并返回false。
  4. mkdirs():创建目录,包括所有必要的父目录。
  5. delete():删除文件或目录。
  6. getName():获取文件或目录的名称。
  7. getPath():获取文件或目录的路径。
  8. isFile():检查File对象是否表示一个文件。
  9. isDirectory():检查File对象是否表示一个目录。
  10. length():获取文件的大小。
  11. list():返回目录中的文件和目录名数组。
  12. listFiles():返回目录中的文件和目录对象数组。

1. exists() 方法用于检查文件或目录是否存在。

  • 应用场景:在操作文件或目录之前,通常需要检查其是否存在。
  • 代码演示:
    File file = new File("example.txt");
    if (file.exists()) {
        System.out.println("文件存在");
    } else {
        System.out.println("文件不存在");
    }
    

2. createNewFile() 方法用于创建新文件。

  • 应用场景:在需要创建新文件时使用。
  • 代码演示:
    File file = new File("newfile.txt");
    try {
        if (file.createNewFile()) {
            System.out.println("文件创建成功");
        } else {
            System.out.println("文件已存在");
        }
    } catch (IOException e) {
        e.printStackTrace();
    }
    

3. mkdir() 方法用于创建目录。

  • 应用场景:在需要创建新目录时使用。
  • 代码演示:
    File directory = new File("newdirectory");
    if (directory.mkdir()) {
        System.out.println("目录创建成功");
    } else {
        System.out.println("目录已存在或创建失败");
    }
    

4. mkdirs() 方法用于创建目录,包括所有必要的父目录。

  • 应用场景:在需要创建多级目录时使用。
  • 代码演示:
    File directory = new File("parent/child/grandchild");
    if (directory.mkdirs()) {
        System.out.println("目录创建成功");
    } else {
        System.out.println("目录已存在或创建失败");
    }
    

5. delete() 方法用于删除文件或目录。

  • 应用场景:在需要删除文件或目录时使用。
  • 代码演示:
    File fileOrDirectory = new File("example.txt");
    if (fileOrDirectory.delete()) {
        System.out.println("删除成功");
    } else {
        System.out.println("删除失败");
    }
    

6. getName() 方法用于获取文件或目录的名称。

  • 应用场景:在需要获取文件或目录名称时使用。
  • 代码演示:
    File file = new File("example.txt");
    String fileName = file.getName();
    System.out.println("文件名:" + fileName);
    

7. getPath() 方法用于获取文件或目录的路径。

  • 应用场景:在需要获取文件或目录路径时使用。
  • 代码演示:
    File file = new File("example.txt");
    String filePath = file.getPath();
    System.out.println("文件路径:" + filePath);
    

8. isFile() 方法用于检查File对象是否表示一个文件。

  • 应用场景:在需要判断File对象是否为文件时使用。
  • 代码演示:
    File file = new File("example.txt");
    if (file.isFile()) {
        System.out.println("是文件");
    } else {
        System.out.println("不是文件");
    }
    

9. isDirectory() 方法用于检查File对象是否表示一个目录。

  • 应用场景:在需要判断File对象是否为目录时使用。
  • 代码演示:
    File directory = new File("example");
    if (directory.isDirectory()) {
        System.out.println("是目录");
    } else {
        System.out.println("不是目录");
    }
    

10. length() 方法用于获取文件的大小。

  • 应用场景:在需要获取文件大小时使用。
  • 代码演示:
    File file = new File("example.txt");
    long fileSize = file.length();
    System.out.println("文件大小:" + fileSize + " 字节");
    

11. list() 方法用于返回目录中的文件和目录名数组。

  • 应用场景:在需要获取目录下的文件和目录名列表时使用。
  • 代码演示:
    File directory = new File("example");
    String[] filesAndDirs = directory.list();
    for (String name : filesAndDirs) {
        System.out.println(name);
    }
    

12. listFiles() 方法用于返回目录中的文件和目录对象数组。

  • 应用场景:在需要获取目录下的文件和目录对象列表时使用。
  • 代码演示:
    File directory = new File("example");
    File[] filesAndDirs = directory.listFiles();
    for (File fileOrDir : filesAndDirs) {
        System.out.println(fileOrDir.getName());
    }
    

完结ENDING

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值