bonjour,
s'il vous plait quelqu'un pourrait m'expliquer pourquoi la méthode lastmodified me renvoie le nombre suivant :1215428173156 et comment pourrai je le lire ???
Merci d'avance
bonjour,
s'il vous plait quelqu'un pourrait m'expliquer pourquoi la méthode lastmodified me renvoie le nombre suivant :1215428173156 et comment pourrai je le lire ???
Merci d'avance
Merci de lire la javadoc des méthodes que vous utilisez.
un peu tard peut-être, mais voici un code qui pourrait vous aider
ce bout de code permet de lire un répertoire en listant les noms des fichiers ainsi que leur date de dernière mise à jour (java n'ayant pas intégré la date de création de fichier, inconnu sous Unix/linux)
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
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47 import java.io.*; import java.text.SimpleDateFormat; import java.util.*; import java.util.Date; public class Fichiers { static public void main(String args[]) throws Exception { File di = new File("c:/fichiers/in"); File fl[] = di.listFiles(); int j; String totalinfo=""; SimpleDateFormat dateStandard = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss"); // a la française Date dateJour = new Date(); FileOutputStream file2 = new FileOutputStream("c:/fichiers/ETATIN.txt"); // RAZ du fichier file2.close(); // lecture du répertoire for (j=0; j < fl.length; j++) { String filename = fl[j].getName().toString(); Date date = new Date(fl[j].lastModified()); String dateFichier = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss", Locale.FRANCE).format(date); totalinfo = filename; FileOutputStream file = new FileOutputStream("c:/fichiers/ETATIN.txt",true); //ouverture en MAJ PrintStream printtofile = new PrintStream(file); printtofile.println(totalinfo+ " "+dateStandard.format(dateJour)+" "+dateFichier); printtofile.close(); file.close(); } } public static Date stringToDate(String sDate, String sFormat) throws Exception { SimpleDateFormat sdf = new SimpleDateFormat(sFormat); return sdf.parse(sDate); } }
Quand au nombre retourné par la commande lastModified(), il s'agit du nombre de jours écoulés en milliseconde depuis le 1/1/1970, il suffit de diviser par 1000/3600/24 pour avoir le nombre de jour à ajouter au 1/1/1970 et obtenir la date souhaitée. Néanmoins, la ligne Date date = new Date(fl[j].lastModified()); permet d'obtenir directement cette date
bon courage
Je me permets de mettre cette phrase en évidence car elle réduit énormément le code nécessaire et passe presque inaperçue dans la réponse de papoulouis.
Une bonne utilisation, afin d'en lire (humainement parlant) quelque chose, est la suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 import java.io.File; import java.util.Date; import java.text.SimpleDateFormat; [...] File file = new File(...); Date fileDate = new Date(file.lastModified()); String fileDateStr = new SimpleDateFormatter("dd/MM/yy HH:ii:ss").format(fileDate); [...]
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager