Java 程序获取文件的最后修改日期

javaobject oriented programmingprogramming更新于 2024/8/5 21:53:00

文件的最后修改日期是指文件数据被编辑的最后日期。我们在 Java 中有各种函数来查找文件的最后修改日期。在本节中,我们将讨论实现 Java 程序以获取文件最后修改日期的不同方法。

文件是信息的集合,可能包含文本信息、图像、音频、视频、程序代码等数据。任何软件应用程序都可以访问它们来执行读取、写入、更新、删除等操作。

现在我们将研究下面进一步示例中使用的每个函数。

创建文件类对象 −

File file = new File("file_path");

exists() − 此方法检查文件是否存在并返回布尔值。

File file = new File("/example.txt");
if (file.exists()) {
    System.out.println("File exist.");
}

创建路径类对象

Path path = Paths.get("path_string");

创建 SimpleDateFormat 类对象

SimpleDateFormat formatter = new SimpleDateFormat("pattern");

lastModified() − 此方法用于返回上次修改文件的时间。它存在于 java.io 包中。它将文件对象作为输入。

File file = new File("path/to/my/file.txt");
long lastModified = file.lastModified();

toMillis() − 此方法将 FileTime 对象转换为毫秒。它存在于 java.nio.file.attribute 包中。

Path file = Path.of("path/to/my/file.txt");
FileTime lastModifiedTime = Files.getLastModifiedTime(file);
long millis = lastModifiedTime.toMillis();

getLastModifiedTime() − 此方法用于通过将路径对象作为参数返回上次修改文件的时间。

Path file = Path.of("path/to/my/file.txt");
FileTime lastModifiedTime = Files.getLastModifiedTime(file);

format() − 此方法使用指定格式将日期转换为字符串。它接受日期作为参数并返回字符串。此函数在 SimpleDateFormat 对象上调用。

Date now = new Date();
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String formattedDate = formatter.format(now);

现在,我们将介绍使用 Java 实现查找文件最后修改日期的不同代码。

方法 1:使用 java.io 包

在此方法中,我们将使用内置的 File 类和 java.io 包实现 Java 代码以获取文件的最后修改日期。

步骤

  • 使用 File 类创建文件对象。

  • 使用 exist() 方法检查文件是否存在,如果文件存在,则使用 lastModified() 方法获取最后修改时间。

  • 使用 Date 类创建日期对象,并使用最后修改时间。

  • 创建 SimpleDateFormat 对象并格式化日期。

  • 打印日期。

  • 如果文件不存在,则打印未找到文件。

示例

在此示例中,我们使用文件类构造函数创建了一个 file 对象,并使用 'exists()' 方法检查文件是否存在,如果文件存在,则我们在 fileobject 上使用 lastModified() 方法,该方法返回上次修改时间(以毫秒为单位)。然后我们使用 Date 构造函数并将存储在'lastModified'变量中的 lastModified 值传递给日期构造函数并获取日期对象。然后,我们使用 SimpleDateFormat 构造函数创建了一个 SimpleDateFormat 对象,方法是将任何特定日期格式作为参数传递(在本例中为"dd/MM/yyyy HH:mm:ss")并创建格式对象。现在,使用 SimpleDateFormat 对象,我们将使用 format() 函数并传递日期对象以获取格式化的日期作为输出。

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

public class Main {
   public static void main(String[] args) {
      File file = new File("C:/example.txt");
      if (file.exists()) {
         long lastModified = file.lastModified();
         Date date = new Date(lastModified);
         SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
         String formattedDate = formatter.format(date);
         System.out.println("文件的最后修改日期: " + formattedDate);
      } else {
         System.out.println("File not found.");
      }
   }
}

输出

文件的最后修改日期:28/02/2023 16:32:45

方法 2:使用 java.nio 包

在这种方法中,我们将使用内置的 Path 类和 java.nio 包来实现 java 代码来获取文件的最后修改日期。

步骤

  • 导入所有必需的 java 库。

  • 使用 Path 类创建路径对象。

  • 使用 Files 类使用 getLastModifiedTime() 函数并传递创建的路径对象并查找上次修改时间。

  • 使用 Date 类创建日期对象并使用上次修改时间。

  • 创建 SimpleDateFormat 对象并格式化日期。

  • 打印日期。

  • 如果文件不存在,则打印"未找到文件"。

示例

在此示例中,我们使用路径类构造函数创建了一个 path 对象,然后我们使用路径对象上的 lastModified() 方法返回上次修改时间(以毫秒为单位)。然后我们使用 Date 构造函数并将存储在"lastModified"变量中的 lastModified 值传递给日期构造函数并获取日期对象。然后我们使用 SimpleDateFormat 构造函数创建了一个 SimpleDateFormat 对象,通过传递任何特定的日期格式作为参数(在本例中为"dd/MM/yyyy HH:mm:ss")并创建格式对象。现在,使用 SimpleDateFormat 对象,我们将使用 format() 函数并传递日期对象以获取格式化的日期作为输出。

import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.attribute.FileTime;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.io.IOException;

public class Main {
   public static void main(String[] args) {
      Path file = Path.of("path/to/my/file.txt");
      try {
         FileTime lastModifiedTime = Files.getLastModifiedTime(file);
         Date date = new Date(lastModifiedTime.toMillis());
         SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
         String formattedDate = formatter.format(date);
         System.out.println("文件最后修改日期: " + formattedDate);
      } catch (IOException e) {
         System.out.println("File not found.");
      }
   }
}

输出

文件最后修改日期:2023 年 2 月 28 日 16:32:45

因此,在本文中,我们讨论了使用 Java 编程语言获取文件最后修改的不同方法。


相关文章