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); } } }
public ZipEntrySubject withoutTimestamp() throws IOException { assertWithMessage("File \"%s\" in zip file has no creation time set", actual()) .that(actual().getCreationTime()) .isNull(); assertWithMessage("File \"%s\" in zip file has no last access time set", actual()) .that(actual().getLastAccessTime()) .isNull(); // Zip files internally use extended DOS time. assertWithMessage("File \"%s\" in zip file does not have the expected time", actual()) .that(fromLocalTimeToUtc(actual().getTime())) .isEqualTo(EXTENDED_DOS_TIME_EPOCH_START_TIMESTAMP); return this; }
@Nonnull public Instant getCreationTime() { return getHandle().getCreationTime().toInstant(); }
@Nonnull public Instant getCreationTime() { return getHandle().getCreationTime().toInstant(); }
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; } }
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); } } }