Determinar a data de criação do arquivo em Java

Determinar a data de criação do arquivo em Java

1. Visão geral

O JDK 7 introduziu a capacidade de obter a data de criação de um arquivo.

Neste tutorial, aprenderemos como podemos acessá-lo por meio dejava.nio.

2. Files.getAttribute

Uma maneira de obter a data de criação de um arquivo éuse the methodFiles.getAttribute com um determinadoPath:

try {
    FileTime creationTime = (FileTime) Files.getAttribute(path, "creationTime");
} catch (IOException ex) {
    // handle exception
}

O tipo decreationTime éFileTime, mas devido ao fato dethe method returns Object, we have to cast it.

FileTime mantém o valor de data como um atributo de carimbo de data / hora. Por exemplo, ele pode ser convertido emInstant com o métodotoInstant().

Se o sistema de arquivos não armazenar a data de criação do arquivo, o método retornaránull.

3. Files.readAttributes

Outra maneira de obter uma data de criação é comFiles.readAttributes which, for a given Path, returns all the basic attributes de um arquivo de uma vez:

try {
    BasicFileAttributes attr = Files.readAttributes(path, BasicFileAttributes.class);
    FileTime fileTime = attr.creationTime();
} catch (IOException ex) {
    // handle exception
}

O método retorna umBasicFileAttributes, que podemos usar para obter os atributos básicos de um arquivo. O métodocreationTime() retorna a data de criação do arquivo comoFileTime.

Desta vez, se o sistema de arquivos não armazenar a data de criação do arquivo, entãothe method will return last modified date. Se a data da última modificação não for armazenada também, a época (01.01.1970) será retornada.

4. Conclusão

Neste tutorial, aprendemos como determinar a data de criação do arquivo em Java. Especificamente, aprendemos que podemos fazer isso comFiles.getAttribute areiaFiles.readAttributes.

Como sempre, o código para exemplos está disponívelover on GitHub.