📌  相关文章
📜  Java程序获取文件的最后修改日期

📅  最后修改于: 2022-05-13 01:55:49.016000             🧑  作者: Mango

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

文件的最后修改日期可以使用Java的File类即File.LastModified()方法通过Java获取

Java文件类

File 类是 Java 对文件或目录路径名的表示。 File 类包含多种方法,用于处理路径名、删除和重命名文件、创建新目录、列出目录的内容以及确定文件和目录的几个公共属性。

lastModified() 方法:

Java.io 包中名为 File 的类代表系统中的文件和目录。这个类提供了各种操作文件和目录的方法。它包含一个名为lastModified()的方法,该方法以长毫秒纪元值的形式返回文件或目录的最后修改日期,可以使用 SimpleDateFormat 类的format()方法使其可读。可以使用 SimpleDateFormat 类以任何所需的格式显示输出。此方法可用于所有Java版本。如果文件不存在, lastModified()方法返回 0l。 0 l 表示 long 类型的数字零。它使用此构造函数来实例化日期,该日期指的是“纪元”之后的零毫秒,即 1970 年 1 月 1 日,格林威治标准时间 00:00:00 或 IST 1970 年 1 月 1 日上午 05:30。

函数签名:

public long lastModified()

现在要获取文件的最后修改日期,请按照给定的步骤操作。

  1. 首先,使用 SimpleDateFormat(“mm/dd/yyyy”) 构造函数创建一个新的 SimpleDateFormat 类实例。
  2. 然后,构造一个具有“mm/dd/yyyy”格式的 String 对象。
  3. 使用 SimpleDateFormat 类的 parse(String) 方法使用我们创建的 String 的日期值创建一个新的 Date 对象。
  4. 最后,使用 File.LastModified() 方法设置我们文件的新“上次修改”日期。

注意:该程序不在在线 IDE 中运行。请使用离线IDE,然后设置文件的路径

Java
// Java program to demonstrate
// last modified time of a file
// using lastModified() method
import java.io.File;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
  
class GFG {
    
    public static void main(String[] args)
    {
        // Creating two instances of file class
        // file1.txt exists in the system
        File file1 = new File("/home/mayur/GFG.java");
        
        // file2.txt does not exist in the system
        File file2 = new File("/home/mayur/file.txt");
        
        // last modified returns date in milliseconds
        long time1 = file1.lastModified();
        long time2 = file2.lastModified();
        
        // Convert milliseconds into readable date time
        // format any desirable format can be achived using
        // SimpleDateFormat
        DateFormat sdf
            = new SimpleDateFormat("MMMM dd, yyyy hh:mm a");
        
        System.out.println("GFG.java modified date is : "
                           + sdf.format(time1));
        
        System.out.println("file.txt modified date is : "
                           + sdf.format(time2));
    }
}


输出:

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

File1 存在于系统中,而 File2 不存在于系统中。因此,在 file2 的情况下,返回0l ,而在 file1 的情况下,返回最后修改日期。