【从零开始学习JAVA | 第三十三篇】File类

目录

前言:

File类:

构造方法:

常见成员方法:

总结:


前言:

        本文我们将为大家介绍JAVA中一个比较使用的类:File类,他为我们提供了存储数据的功能,使得程序的数据不至于在运行结束之后就丢失,是一个很好的类。

File类:

        File类是Java标准库中用于操作文件和目录的一个核心类。它提供了一系列方法,可以创建、删除、重命名、复制、查询和操作文件和目录的属性等。

        File类创建的对象就表示一个路径,可以是文件的路径,也可以是文件夹的路径。

在文件系统中,路径用于指定文件或目录的位置。在Java中,有两种常见的路径表示方式:绝对路径和相对路径。

  1. 绝对路径(Absolute Path):
    绝对路径是一个完整的路径,它从文件系统的根目录开始指定文件或目录的位置。在不同操作系统中,根目录的表示方式可能有所不同。在Windows系统中,绝对路径通常以盘符(如C:\、D:\)开始,如"C:\Users\Username\Documents\example.txt"。在Unix/Linux系统中,绝对路径从根目录(/)开始,如"/home/username/documents/example.txt"。

    使用绝对路径可以精确地指定文件或目录的位置,无论当前工作路径在哪里都能够正确地定位。

  2. 相对路径(Relative Path):
    相对路径是相对于当前工作路径或另一个已知路径的路径。它指定文件或目录相对于当前位置的位置关系。相对路径不以根目录为起始,而是从当前目录开始描述路径。相对路径通常更简短,便于在程序中灵活使用。

    相对路径可以分为两种:

    • 相对于当前工作路径:这是最常见的情况,相对路径从当前工作路径开始描述文件或目录的位置关系。例如,如果当前工作路径为"/home/username",而文件"example.txt"位于该目录下,相对路径可以简单地表示为"example.txt"。
    • 相对于另一个已知路径:相对路径也可以相对于另一个已知路径进行描述。例如,如果当前工作路径为"/home/username",而文件"example.txt"位于该目录下的子目录"documents"中,相对路径可以表示为"documents/example.txt"。

    相对路径的优势在于能够根据当前程序的运行环境轻松地适应不同的文件结构,例如在不同操作系统上运行同一程序时。但是需要注意,相对路径必须基于当前工作路径或已知路径,否则可能会导致文件或目录无法找到。

构造方法:

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

  1. 构造方法一:File(String pathname)

    • 通过给定字符串表示的路径创建File对象。
    • 参数pathname可以是文件或目录的路径。
    • 例如:File file = new File("C:\\Users\\Username\\Documents\\example.txt");
  2. 构造方法二:File(String parent, String child)

    • 通过给定父路径和子路径创建File对象。
    • 参数parent表示父路径,child表示子路径。
    • 例如:File file = new File("C:\\Users\\Username\\Documents", "example.txt");
  3. 构造方法三:File(File parent, String child)

    • 通过给定父File对象和子路径创建File对象。
    • 参数parent表示父File对象,child表示子路径。
    • 例如:File parentDir = new File("C:\\Users\\Username\\Documents"); File file = new File(parentDir, "example.txt");

在文件系统中,父路径和子路径是用于描述文件或目录之间层次关系的概念。

1. 父路径(Parent Path):
   父路径是相对于当前路径或文件的上一级目录路径。简单来说,父路径是文件或目录所在位置的上层目录的路径。

2. 子路径(Child Path):
   子路径是相对于当前路径或文件的下一级目录路径。它表示文件或目录位于当前路径的子目录中。

常见成员方法:

File类提供了一系列常见的成员方法,用于执行各种文件和目录的操作。以下是一些常见的File类成员方法:

  1. 文件和目录的基本操作:

    • createNewFile():创建文件。
    • mkdir():创建目录。
    • mkdirs():创建多级目录。
    • delete():删除文件或目录。

delete删除文件是不走回收站的,直接进行删除,无法从回收站复原,因此在删除的时候要格外注意。而如果删除文件夹的话要分两种情况:

1.如果删除空文件夹,就直接删除

2.如果删除的是有内容的文件夹,就会删除失败

  1. 文件和目录的属性查询:

    • exists():检查文件或目录是否存在。
    • isFile():检查是否为文件。
    • isDirectory():检查是否为目录。
    • getName():获取文件或目录的名称。
    • getPath():获取文件或目录的路径。
    • getAbsolutePath():获取文件或目录的绝对路径。
    • length():获取文件的大小(字节数)。
    • lastModified():获取文件或目录的最后修改时间。

windows中路径是唯一的,如果当前要创建的新的文件与已有文件夹路径重叠,那么程序就会抛出异常。

  1. 文件和目录的遍历:

    • list():返回目录下的所有文件和目录名称数组。
    • listFiles():返回目录下的所有文件和目录File对象数组。
  2. 文件操作:

    • canRead():检查文件是否可读。
    • canWrite():检查文件是否可写。
    • setReadable(boolean readable):设置文件是否可读。
    • setWritable(boolean writable):设置文件是否可写。
  3. 文件和目录的重命名和移动:

    • renameTo(File dest):将文件或目录重命名为指定的名称(可以是新的路径)。
  4. 其他功能:

    • getParent():获取文件或目录的父级目录。
    • isHidden():检查文件或目录是否是隐藏文件。
    • getTotalSpace():获取文件所在驱动器的总空间。
    • getFreeSpace():获取文件所在驱动器的可用空间。

总结:

        本文我们为大家介绍了File类以及其常见的成员方法,他可以直接对系统文件进行操作,用来存储我们运行时候的数据,是一个很常见的内部类。

如果我的内容对你有帮助,请点赞,评论,收藏。创作不易,大家的支持就是我坚持下去的动力!

猜你喜欢

转载自blog.csdn.net/fckbb/article/details/131979296