Data de criação de um arquivo

8 respostas
L

Pessoal, estou precisando pegar a data de criação de um arquivo.
Alguém sabe como posso fazer isso ?

8 Respostas

J

Existe o método lastModifield() que retorna a data da última modificação.

Tu poderia manipular este método para verificar qual a data de criação do arquivo

Jeferson_Flamini

leonardo, acho que nem todos os Sistemas operacionais armazenam a data de criação. O Windows tem, mas acho que nos *nix não tem (ver man stat).
Se vc precisa mesmo saber a data e abrir mão de portabilidade, acho que vc terá que usar JNI e chamar direto uma api de sistema para obter esta informação.

Acho que a API do windows que retorna a ddata de criação é ‘GetFileTime’

arochafademac

Olha, vi algumas respostas em sites externos dizendo que essa opção não está na lib padrão do java para manter a independencia de plataforma, pois em alguns sistemas operacionais simplesmente essa opção não existe (Linux por exemplo).
Vi alguns comentários em que é possivel para o caso de Windows utilizar bibliotecas JNI fazendo referencia à uma lib .dll mas acredito que não sua intenção.
Se eu estiver errado por favor me corrija.

comentario do forum americano http://www.jguru.com/faq/view.jsp?EID=132319


Re[2]: How do I get the creation date & time of File?
Alejandro B, Mar 21, 2007
The creation date-time, is only available in windows systems. In linux like system, you only have “lastModified”. From the platform independent nature o java, there is not creation date-time. One workaround is: Create a windows script to generate a txt file with the creation time and filename, using “dir” command. Then read the txt file in java. You can make a “C” program and use the native API too.

L

Muito obrigado a todos pelas respostas.
Acho que vou usar a API do windows mesmo para pegar a data de criação do arquivo, mas vou precisar de mais uma mãozinha…
Andei dando uma pesquisada no google sobre como usar API do windows junto com o java mas não entendi muito bem.
Será que alguém pode me dar uma ajuda ?

IcePeak

Você precisa pegar alguma data que já passou ou pode começar a usar as datas a partir de agora?

Se você não estiver precisando das datas anteriores, você pode criar uma variável que armazene a data da última modificação e alterando-a cada vez que alguém altera-la ou sei lá.

Não lembro de cabeça os métodos que fazem isso, mas se vc fuçar um pouquinho na API do Java vc acha!

Abraços!

L

Preciso de datas que já passaram.
Tenho alguns arquivos pra inserir em uma base de dados e preciso colocar a data de criação deles também.

romuloff

Ressuscitando…

via API : FileTimes
via Runtime: link

Se já for Java 7; via java.nio

viniciusalvess

setLastModified(long time)

http://download.oracle.com/javase/1.4.2/docs/api/java/io/File.html#setLastModified(long)

Criado 22 de junho de 2007
Ultima resposta 20 de jan. de 2011
Respostas 8
Participantes 7