如何获取最后修改数据&文件的时间

时间:2017-08-30 05:54:02

标签: java

以下是代码,我正在尝试获取此类文件的最后修改数据和时间" 2017年8月30日,10:52:04"。但是当我使用file.lastModified()时它会返回long.Now,我已经这样做但它给了我错误的值。

   public class FileEx {

    public static void main(String[] args)  {
        try{
        File file=new File("D://task2");
        if(file.isFile()){
            System.out.println("file exists");
            System.out.println("abs pth ="+file.getAbsolutePath());
            System.out.println("pth= "+file.getCanonicalPath());
        }
        else if (file.isDirectory()){
            System.out.println("directory");
            System.out.println("abs pth ="+file.getAbsolutePath());
            System.out.println("pth= "+file.getCanonicalPath());
            System.out.println("can write="+file.canWrite());
            System.out.println("parent file="+file.getParentFile());
            Date d = new Date(file.lastModified());
            System.out.println("modified="+ file.lastModified()+"time="+d);
            System.out.println("parent="+file.getParent());
            System.out.println("name ="+file.getName());
            System.out.println("usuable space: "+file.getUsableSpace()/(1024*1024*1024));
            System.out.println("total space: "+file.getTotalSpace()/(1024*1024*1024));
            System.out.println("free space: "+file.getFreeSpace()/(1024*1024*1024));

        }
        else{
            file.createNewFile();
        }

        }catch(IOException io){
            io.printStackTrace();
        }
    }

}

1 个答案:

答案 0 :(得分:0)

您可以使用SimpleDateFormat

执行以下代码
java.text.SimpleDateFormat sf = new java.text.SimpleDateFormat("yyyyMMddHHmmssSSS");
System.out.println("modified="
+ sf.format(new java.util.Date(file.lastModified()))+"  time="+d);

方面,