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.