public void setTime(ZipEntry newInstance, ZipEntry oldInstance) { { FileTime time = oldInstance.getCreationTime(); if (time != null) { newInstance.setCreationTime(time); } } { FileTime time = oldInstance.getLastModifiedTime(); if (time != null) { newInstance.setLastModifiedTime(time); } } { FileTime time = oldInstance.getLastAccessTime(); if (time != null) { newInstance.setLastAccessTime(time); } } }
// The ClassLoader returns a directory listing in some cases. // As this listing is partial, it is of little value in the context // of the CLAP client, so we have to ignore them. if (url != null) { if (url.getProtocol().equals("file")) { File file = new File(url.getFile()); modificationDate = new Date(file.lastModified()); if (file.isDirectory()) { url = null; } //NEW CODE HERE } else if (url.getProtocol().equals("jar")) { try { JarURLConnection conn = (JarURLConnection) url.openConnection(); modificationDate = new Date(conn.getJarEntry().getLastModifiedTime().toMillis()); if (conn.getJarEntry().isDirectory()) { url = null; } } catch (IOException ioe) { getLogger().log(Level.WARNING, "Unable to open the representation's input stream", ioe); response.setStatus(Status.SERVER_ERROR_INTERNAL); } } }
private static void unzip(final ZipFile zip, final Path targetDir) throws IOException { final Enumeration<? extends ZipEntry> entries = zip.entries(); while (entries.hasMoreElements()) { final ZipEntry entry = entries.nextElement(); final String name = entry.getName(); final Path current = resolveSecurely(targetDir, name); if (entry.isDirectory()) { if (!Files.exists(current)) { Files.createDirectories(current); } } else { if (Files.notExists(current.getParent())) { Files.createDirectories(current.getParent()); } try (final InputStream eis = zip.getInputStream(entry)) { Files.copy(eis, current); } } try { Files.getFileAttributeView(current, BasicFileAttributeView.class).setTimes(entry.getLastModifiedTime(), entry.getLastAccessTime(), entry.getCreationTime()); } catch (IOException e) { //ignore, if we cannot set it, world will not end } } }
private ZipEntry cloneEntry(ZipEntry entry) { ZipEntry newEntry = new ZipEntry(entry.getName()); newEntry.setTime(entry.getTime()); if (entry.getCreationTime() != null) { newEntry.setCreationTime(entry.getCreationTime()); } if (entry.getLastModifiedTime() != null) { newEntry.setLastModifiedTime(entry.getLastModifiedTime()); } if (entry.getLastAccessTime() != null) { newEntry.setLastAccessTime(entry.getLastAccessTime()); } newEntry.setComment(entry.getComment()); newEntry.setExtra(entry.getExtra()); return newEntry; } }
try { ZipEntry zipEntry = ((JarURLConnection)url.openConnection()).getJarEntry(); lastModified = zipEntry.getLastModifiedTime().toMillis(); length = zipEntry.getSize(); } catch (ClassCastException cce) {
try { ZipEntry zipEntry = ((JarURLConnection)url.openConnection()).getJarEntry(); lastModified = zipEntry.getLastModifiedTime().toMillis(); length = zipEntry.getSize(); } catch (ClassCastException cce) {
entry.getLastModifiedTime()); LOGGER.trace(String.format("last modified time of file or directory '%s' is %s", filePath,
public void setTime(ZipEntry newInstance, ZipEntry oldInstance) { { FileTime time = oldInstance.getCreationTime(); if (time != null) { newInstance.setCreationTime(time); } } { FileTime time = oldInstance.getLastModifiedTime(); if (time != null) { newInstance.setLastModifiedTime(time); } } { FileTime time = oldInstance.getLastAccessTime(); if (time != null) { newInstance.setLastAccessTime(time); } } }