So che utilizzando l'oggetto File
è possibile ottenere l'ora dell'ultima modifica per un File
(ad esempio File.lastModified()). Ma il mio requisito è quello di ottenere l'ora di accesso per un File
in Java. Come lo ottengo?Ottieni l'ultima ora di accesso per un file
risposta
È necessario utilizzare the new file I/O API (NIO2) fornito con Java 7. Ha un metodo lastAccessTime() per la lettura dell'ultimo orario di accesso.
Ecco un esempio di utilizzo:
Path file = ...
BasicFileAttributes attrs = Files.readAttributes(file, BasicFileAttributes.class);
FileTime time = attrs.lastAccessTime();
Per ulteriori informazioni vedere Managing Metadata nel Tutorial Java.
mi piacerebbe sapere come java 7 ottiene l'ultima ora di accesso. – randeepsp
Java 7 lo richiede dal sistema operativo, utilizzando alcune funzioni specifiche del sistema operativo. E 'questo quello che volevi chiedere? Ho aggiunto un esempio di come Java 7 può essere * usato * per ottenere il tempo, nel caso intendessi invece quello. –
BasicFileAttributes non può essere risolto. Sto usando Java 1.8. Cosa potrebbe esserci di sbagliato? –
Non puoi farlo con pianura Java, avrete bisogno di usare JNI per accedere ai dati specifici della piattaforma di questo tipo o utilizzare extensions to the core Java library come la seguente:
javaxt.io.File file = new javaxt.io.File("path");
file.getLastAccessTime();
Oppure, se si dispone di Java 7, vai con la risposta di Esko e usa NIO.
Tenere presente che questa informazione non è affidabile. Le persone (me compreso) di solito disattivano il tempo in quanto accelera notevolmente l'accesso al disco. Le persone lo fanno anche sui server. – cletus
I'll second cleter. Ho disattivato il mio WinXP quando ho comprato un disco SSD. L'SSD non andava bene con le scritture casuali e l'aggiornamento degli ultimi tempi di accesso stava uccidendo la mia macchina in operazioni altrimenti di sola lettura. –