OVH Cloud OVH Cloud

date de creation d'un fichier.

1 réponse
Avatar
Thierry
Bonjour,

Voici un bon casse tête. Si j'ai bien compris, on ne peut pas savoir la
date de creation d'un fichier mais seulement sa date de dernière
modification.

File f = new File("c:\log\daylog.txt")
f.lastModified();

Mon programme écrit ce qu'il fait, au fur et à mesure de son execution,
dans "daylog.txt". Ca je sais faire ;-)

Je voudrais que, tous les jours, à minuit, le programme sauve
daylog.txt, par exemple en daylog_lundi27juin2003.txt, et crée un
nouveau fichier dayLog.txt vide.

Mon problème est que :
1) Le programme ne sera peut être pas forcément en fonctionnement à
l'heure H (ie minuit dans l'exemple).
2) Si j'écris une toute petite info à minuit et une seconde, la méthode
lastModified() ne pourra pas m'aider...

J'avais l'intention de mettre ce sous-programme dans une boucle d'un
thread :
while(true) {
doToto(); // peut ecrire dans daylog.txt
doLala(); // idem
processDayLog();
}

Dans cet exemple, ce serait vraiment un coup de chance que minuit tombe
entre doLala() et processDayLog()...

J'avais aussi pensé à lancer un Thread avec un timer mais quelque chose
me dit que ça va pas du tout fonctionner...

J'avais également pensé à écrire un truc du style "creation date is 25
juin 2003) au début du fichier mais ça me parrait un peu lourd... Cela
dit je sais faire ;-)

Si quelqu'un a envie de m'aider, il sera le bienvenu...
Thierry.

1 réponse

Avatar
jerome moliere
Thierry wrote:
Bonjour,

Voici un bon casse tête. Si j'ai bien compris, on ne peut pas savoir la
date de creation d'un fichier mais seulement sa date de dernière
modification.

File f = new File("c:logdaylog.txt")
f.lastModified();

Mon programme écrit ce qu'il fait, au fur et à mesure de son execution,
dans "daylog.txt". Ca je sais faire ;-)

Je voudrais que, tous les jours, à minuit, le programme sauve
daylog.txt, par exemple en daylog_lundi27juin2003.txt, et crée un
nouveau fichier dayLog.txt vide.

Mon problème est que :
1) Le programme ne sera peut être pas forcément en fonctionnement à
l'heure H (ie minuit dans l'exemple).
2) Si j'écris une toute petite info à minuit et une seconde, la méthode
lastModified() ne pourra pas m'aider...

J'avais l'intention de mettre ce sous-programme dans une boucle d'un
thread :
while(true) {
doToto(); // peut ecrire dans daylog.txt
doLala(); // idem
processDayLog();
}

Dans cet exemple, ce serait vraiment un coup de chance que minuit tombe
entre doLala() et processDayLog()...

J'avais aussi pensé à lancer un Thread avec un timer mais quelque chose
me dit que ça va pas du tout fonctionner...

J'avais également pensé à écrire un truc du style "creation date is 25
juin 2003) au début du fichier mais ça me parrait un peu lourd... Cela
dit je sais faire ;-)

Si quelqu'un a envie de m'aider, il sera le bienvenu...
Thierry.

un bon conseil jettes un oeil au RollingDayFileAppender de Log4j cela

peut t'eviter des soucis....(log4j est un projet jakarta)

Jerome