Java 程序获取文件的最后修改日期
文件的最后修改日期是指文件数据被编辑的最后日期。我们在 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 编程语言获取文件最后修改的不同方法。