IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Java Discussion :

Liste de fichier selon leur date de modification


Sujet :

Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France, Somme (Picardie)

    Informations forums :
    Inscription : Juin 2005
    Messages : 5
    Par défaut Liste de fichier selon leur date de modification
    Bonjour à tous,

    Je ne suis pas un pro, loin de là, du Java et mon problème est peut-être facile poru beaucoup d'netre vous, mais moi, là , je coince...

    J'ai besoin dans un batch quotidien de récupérer une liste de fichier qui ont été modifiés le jour même.
    Alors, autant sélectionner un fichier selon son nom, son extension etc... ne pose pas de problème, autant avec sa date de modification, je n'ai rien trouvé sur ce sujet là et je galère !

    Si quelqu'un à un "tuyau", je l'en remercie d'avance !

  2. #2
    Membre émérite
    Inscrit en
    Mars 2006
    Messages
    848
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Mars 2006
    Messages : 848
    Par défaut
    Bonjour,

    tu peux utiliser la méthode lastModified() sur un objet File.
    Elle te renvoie un long représentant la date que tu peux manipuler avec la classe Calendar si tu veux avoir plus de précision (minute/heure/jour/mois/...)

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France, Somme (Picardie)

    Informations forums :
    Inscription : Juin 2005
    Messages : 5
    Par défaut
    Merci poru la réponse si rapide !
    J'ai bien vu la propriété lastModified() mais je pensais qu'il y aurait une méthode un peu plsu simple que de testerchaque fichier listé et de vérifier sa date.
    Je souhaitait faire un peu un FileFilter du style :
    FileFilter select = new FileFilter() {
    public boolean accept(File dir) {
    boolean retour=false;
    if (dir.getName().toLowerCase().endsWith("tif") && dir.lastModified()==datedujour)
    retour=true;
    return retour;
    }
    };
    Mais mon souci est alors comment fabriquer la datedujour pour que le test puisse etre fait, ou comment remplacer ce test par une autre expression équivalente ?

  4. #4
    Modérateur
    Avatar de wax78
    Homme Profil pro
    R&D - Palefrenier programmeur
    Inscrit en
    Août 2006
    Messages
    4 096
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : R&D - Palefrenier programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 096
    Par défaut
    1) long Date.getTime() : Returns the number of milliseconds since January 1, 1970, 00:00:00 GMT represented by this Date object.
    2) Meme chose pour lastmodified : un long, 1970.

    Il suffit que tu initialise la date convenablement (pour que tu sois le jour meme à 0.00 ou pas). Et de bien comparer.

    Nope ?
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre Expert
    Avatar de CheryBen
    Inscrit en
    Mai 2005
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 599
    Par défaut
    Inutile de créer un objet Date ou Calendar, tu peux comparer directement le long renvoyé. Le plus grand correspondra au fichier le plus récent.

  6. #6
    Modérateur
    Avatar de wax78
    Homme Profil pro
    R&D - Palefrenier programmeur
    Inscrit en
    Août 2006
    Messages
    4 096
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : R&D - Palefrenier programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 096
    Par défaut
    Certes mais il demande une liste DES fichiers du jour (donc je suppose ceux > que minuit le jour meme), pas uniquement le plus récent.

    Tu peux aussi faire System.currentTimeMillis(), par exemple, pour avoir le long de ta date je suis bien d'accord, mais tu n'auras pas facile si tu veux regler ton truc sur un periode plus precise que maintenant desuite (cas du jour meme mais fixé a minuit ou quoi).

    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  7. #7
    Membre éprouvé Avatar de jean.2edi
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2008
    Messages : 106
    Par défaut
    Pour les fichiers à partir d'aujourd'hui 0 heures :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    // Date à partir de laquelle on veut les fichiers : aujourd'hui à 0 heures
    final GregorianCalendar dateDuJour = new GregorianCalendar();
    dateDuJour.set(Calendar.HOUR_OF_DAY, 0);
    dateDuJour.set(Calendar.MINUTE, 0);
    dateDuJour.set(Calendar.SECOND, 0);
     
    FileFilter select = new FileFilter() {
     
    	public boolean accept(File file) {
    		GregorianCalendar dateFichier = new GregorianCalendar();
    		dateFichier.setTimeInMillis(file.lastModified());
    		return dateFichier.after(dateDuJour);
    	}
     
    };

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France, Somme (Picardie)

    Informations forums :
    Inscription : Juin 2005
    Messages : 5
    Par défaut
    Merci beaucoup pour toutes vos réponses, mon problème est résolu !
    Je marque ce topic comme tel.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 03/12/2009, 14h45
  2. Réponses: 2
    Dernier message: 20/11/2009, 15h37
  3. copier xx fichier d'apres leurs date de modification
    Par patou41000 dans le forum VBScript
    Réponses: 3
    Dernier message: 11/05/2009, 12h36
  4. Liste de Fichiers via une date
    Par gudulle dans le forum VB.NET
    Réponses: 1
    Dernier message: 13/09/2007, 18h08
  5. Boucle en Dos pour lister des fichiers selon une date
    Par Corben dans le forum Autres Logiciels
    Réponses: 1
    Dernier message: 17/12/2005, 12h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo