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


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

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

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

创建文件类对象:

File file = new File("file_path");

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

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

创建路径类对象

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包

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

步骤

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

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

  • 使用Date类和最后修改时间创建一个日期对象。

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

  • 打印日期。

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

示例

在这个例子中,我们使用文件类构造函数创建了一个file对象,并使用‘exists()’方法检查文件是否存在。如果文件存在,我们就在file对象上使用了lastModified()方法,该方法以毫秒为单位返回最后修改的时间。然后,我们使用Date构造函数并将存储在‘lastModified’变量中的lastModified值传递给Date构造函数,以获取日期对象。然后,我们使用SimpleDateFormat构造函数通过传递任何特定的日期格式作为参数(在本例中为"dd/MM/yyyy HH:mm:ss")创建一个SimpleDateFormat对象,并创建格式对象。现在,使用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("Last modified date of file: " + formattedDate);
      } else {
         System.out.println("File not found.");
      }
   }
}

输出

Last modified date of file: 28/02/2023 16:32:45

方法2:使用java.nio包

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

步骤

  • 导入所有必需的Java库。

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

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

  • 使用Date类和最后修改时间创建一个日期对象。

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

  • 打印日期。

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

示例

在这个例子中,我们使用路径类构造函数创建了一个path对象,然后我们在path对象上使用了lastModified()方法,该方法以毫秒为单位返回最后修改的时间。然后,我们使用Date构造函数并将存储在‘lastModified’变量中的lastModified值传递给Date构造函数,以获取日期对象。然后,我们使用SimpleDateFormat构造函数通过传递任何特定的日期格式作为参数(在本例中为"dd/MM/yyyy HH:mm:ss")创建一个SimpleDateFormat对象,并创建格式对象。现在,使用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("Last modified date: " + formattedDate);
      } catch (IOException e) {
         System.out.println("File not found.");
      }
   }
}

输出

Last modified date of file: 28/02/2023 16:32:45

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

更新于:2023年8月16日

3K+ 次浏览

启动您的职业生涯

通过完成课程获得认证

开始
广告
© . All rights reserved.