Comment puis-je trouver la dernière modification du fichier dans un répertoire en Java?
Comment puis-je trouver la dernière modification du fichier dans un répertoire en java?
- Demandez-vous comment trier par dernière modification du temps? Ou voulez-vous un algorithme qui trouve le maximum de la dernière date de modification? Ceux-ci semblent comme solutions évidentes; de quoi êtes-vous vraiment demander?
Vous devez vous connecter pour publier un commentaire.
int
de type "bonnes pratiques". Les plus forts, vous pouvez dire, c'est que les comparateurs sont une bonne solution partielle pour de nombreux problèmes de programmation.Combiner ces deux:
Fichier.lastModified()
.Fichier.listFiles()
.Noter que dans Java, les
java.io.File
objet est utilisé pour les répertoires et les fichiers.Cela fonctionne très bien pour moi
Vous pouvez récupérer l'heure de la dernière modification à l'aide du Fichier.lastModified() la méthode. Ma solution proposée serait de mettre en place une coutume Comparateur qui trie dans lastModified()-commande et insérer tous les Fichiers du répertoire dans un TreeSet qui trie à l'aide de ce comparateur.
Non testé exemple:
La solution proposée par Bozho est probablement plus rapide si vous avez besoin seulement le dernier fichier. D'autre part, cela peut être utile si vous avez besoin de faire quelque chose de plus compliqué.
Votre problème est similaire à: Comment obtenir seulement 10 dernière modification des fichiers à partir du répertoire à l'aide de Java?
Il suffit de changer le filtre de code pour avoir un seul Fichier et de les accepter méthode devrait vous suffit de comparer les deux timbres.
Code non testé:
Maintenant, appelez-dir.listFiles avec une instance de ce filtre comme argument. À la fin, le filtre.topFile est le dernier fichier modifié.
Le comparateur de Emil solution serait plus simple de cette façon
Casting
(a.lastModified() - b.lastModified())
àint
peut produire des résultats inattendus.Java 8
Supposons que la variable
thePath
contient le répertoire que nous voulons rechercher, le fragment de code suivant renvoie le dernier fichier modifié à l'intérieur:Ce qu'il fait est: