cs_kam81
Messages postés114Date d'inscriptiondimanche 25 septembre 2005StatutMembreDernière intervention11 février 2009
-
10 févr. 2007 à 11:55
shaiulud
Messages postés404Date d'inscriptionmardi 18 décembre 2001StatutMembreDernière intervention15 juillet 2014
-
12 févr. 2007 à 10:17
salut,
j'ai une liste de dates sous forme de noms de fichiers(jjmmaa) situés dans un repertoire, quand j'insere un nouveau fichier je recupere son nom et je le teste avec tous les fichiers presents dans le repertoire afin d'eliminer les fichiers anciens de 2 mois ou plus (60 jours ou plus)par rapport au nouveau fichier inséré.le pb se pose quand je teste un fichier dont la date est par exemple 010206 avec le nouveau insere qui a comme date 010207(quand l'annee differe).
merci.
voici mon code:
String date= fich.getName().substring(0,3)+"/"+fich.getName().substring(3,5)+"/"+fich.getName().substring(5,7);
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yy");
sdf.setLenient(false);
Date d=sdf.parse(date);
Calendar Calend1= Calendar.getInstance();
Calend1.setTime(d);
int jours1 = Calend1.get(Calendar.DAY_OF_YEAR);
String[] liste = rep.listNames();
for(int i=0;i<listing.length;i++)
{
SimpleDateFormat sdf2 = new SimpleDateFormat("dd/MM/yy");
sdf.setLenient(false);
Date d2=sdf2.parse(liste[i].substring(0,3)+"/"+nomf.substring(3,5)+"/"+nomf.substring(5,7));
Calendar Calend2= Calendar.getInstance();
Calend2.setTime(d2);
int jours2 = Calend2.get(Calendar.DAY_OF_YEAR);
shaiulud
Messages postés404Date d'inscriptionmardi 18 décembre 2001StatutMembreDernière intervention15 juillet 201422 12 févr. 2007 à 10:17
tu peux faire plus simple :
recherche de la date butoir de suppression 1 seule fois
pour chaque nom de fichier on test le pattern de date
si test valide => suppression
Calendar cal = Calendar.getInstance();
cal.add(-60, Calendar.DAY);
// ou mieux si c'est 2 mois cal.add(-2, Calendar.MONTH);
Date dateToDelete = cal.getTime();
Date dateFile = null;
SimpleDateFormat sdf = new SimpleDateFormat("ddMMyy");
//reste à définir rep qui doit être un objet File
String[] liste = rep.listNames();
for(int i=0 ;i<listing.length;i++) {
dateFile = sdf.parse(liste[i]);
if (dateFile.before(dateToDelete ) ) {