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包
在这个方法中,我们将使用内置的 File 类和java.io包来实现Java代码获取文件的最后修改日期。
步骤
- 使用File类创建一个文件对象。
-
使用exists()方法检查文件是否存在,如果文件存在则使用lastModified()方法获取最后修改时间。
-
使用Date类根据最后修改时间创建日期对象。
-
创建SimpleDateFormat对象并格式化日期。
-
打印日期。
-
如果文件不存在,打印“文件未找到”。
示例
在这个示例中,我们使用File类的构造函数创建了一个 文件 对象,并使用exists()方法检查文件是否存在。如果文件存在,则在文件对象上使用 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("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 对象,然后使用 lastModified() 方法获取路径对象的最后修改时间(以毫秒为单位)。然后,我们使用Date构造函数将存储在”lastModified”变量中的lastModified值传递到date构造函数中,并获取日期对象。然后,我们使用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("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编程语言获取文件的最后修改的不同方法。