Java - 设置文件创建日期和时间

时间:2012-12-01 08:39:23

标签: java file datetime

我找到了解决方案如何在Java中为特定文件(Android: How to get & set directory modification date)设置上次修改时间。

是否有办法在Java中为特定文件设置创建日期和时间?

3 个答案:

答案 0 :(得分:3)

完全相同的方式。日期包含时间瞬间,精度为毫秒。只需更改用于解析日期的格式。请阅读the documentation

答案 1 :(得分:2)

在java 7中,可以使用以下代码将创建时间设置为目录或文件:

//date which is used as date of creation
Date creationDate;
//path to directory of file to which to set creation time
Path somePath;
...
FileTime time = FileTime.fromMillis(creationDate.getTime());
Files.setAttribute(somePath, "creationTime", time);

答案 2 :(得分:0)

对于使用HFS文件系统的UNIX变种的OSX,这不起作用。

import java.io.*;
import java.util.*;
import java.nio.*;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.attribute.FileTime;
import static java.nio.file.LinkOption.NOFOLLOW_LINKS;

class changetime{

    public static void main(String args[]){

        Path p = Paths.get("./test.txt");
        System.out.println(p);
        try {
                Calendar c = Calendar.getInstance();
                c.set(2010, Calendar.MARCH, 20);
                Files.setAttribute(p, "basic:creationTime", FileTime.fromMillis(c.getTimeInMillis()), NOFOLLOW_LINKS);
        } catch (IOException e) {
                System.err.println("Cannot change the creation time. " + e);
        }
    }//END Main

}//END Class