2016-03-29 2 views
0

Ich habe meine JSON-Datei unter der Web-App gespeichert. Ich lese die JSON-Datei wie unten ...Wie kann man den Zeitstempel der JSON-Datei, die unter der Web-App in Sevlet & Jsp gespeichert ist, kennen?

InputStream istream = request.getServletContext().getResourceAsStream("courses.json"); 
JsonReader rdr = Json.createReader(istream); 

Aber bevor die gesamte JSON-Datei von einem Servlet/jsp lesen mag ich den Zeitstempel (geänderte Uhrzeit) der JSON-Datei kennen. Wie macht man das? Ich habe kein Handle des Dateiobjekts, sonst hätte ich auf den Zeitstempel zugegriffen.

Antwort

1

Es ist einfach genug, ein Dateiobjekt zu erhalten, wenn Sie den relativen Pfad der Datei in Ihrer Webanwendung kennen.

File file = new File(getServletContext().getRealPath("courses.json")); 
Date date = new Date(file.lastModified()); 

Wenn Sie Ihre App als WAR-Datei bereitstellen, wird Ihr Container wahrscheinlich es in ein temporäres Verzeichnis extrahieren, so dass der Zeitstempel die Bereitstellungszeit sein wird. In diesem Fall bin ich mir nicht sicher, ob das Ändern des Datums in irgendeiner Weise nützlich wäre.

+0

@ Tipp: Wenn meine Anwendung bereits implementiert ist und ich die JSon-Datei erneut hochlade und davon ausgehe, dass sie die Änderung auswählt, bekomme ich dann die letzte Änderungszeit oder die alte Bereitstellungszeit? Ich stelle diese Frage, da, wenn es eine erneute Bereitstellung der Anwendung erfordert, ich denke, ich kann weitere Änderungen überspringen. – Prakash

+0

@Prakash, wenn Sie die Datei nach der Bereitstellung der App an Ort und Stelle legen, erwarte ich, dass Sie die tatsächliche Zeit der letzten Änderung sehen. – Tap

Verwandte Themen