List of usage examples for java.nio.file.attribute BasicFileAttributes lastModifiedTime
FileTime lastModifiedTime();
From source file:org.duracloud.retrieval.mgmt.RetrievalWorkerTest.java
@Test public void testRetrieveToFile() throws Exception { RetrievalWorker worker = createRetrievalWorker(true); File localFile = new File(tempDir, "retrieve-to-file-test"); assertFalse(localFile.exists());/*from w w w . j a v a 2 s . c om*/ worker.retrieveToFile(localFile, null); assertTrue(localFile.exists()); // Test timestamps BasicFileAttributes fileAttributes = Files.readAttributes(localFile.toPath(), BasicFileAttributes.class); assertEquals(testTime, fileAttributes.creationTime().toMillis()); assertEquals(testTime, fileAttributes.lastAccessTime().toMillis()); assertEquals(testTime, fileAttributes.lastModifiedTime().toMillis()); // Test file value String fileValue = FileUtils.readFileToString(localFile); assertEquals(fileValue, contentValue); // Test failure worker = createBrokenRetrievalWorker(true); localFile = new File(tempDir, "retrieve-to-file-failure-test"); assertFalse(localFile.exists()); try { worker.retrieveToFile(localFile, null); fail("Exception expected with non-matching checksum"); } catch (IOException expected) { assertNotNull(expected); } }
From source file:se.trixon.filebydate.Operation.java
private Date getDate(File sourceFile) throws IOException, ImageProcessingException { Date date = new Date(System.currentTimeMillis()); DateSource dateSource = mProfile.getDateSource(); if (dateSource == DateSource.FILE_CREATED) { BasicFileAttributes attr = Files.readAttributes(sourceFile.toPath(), BasicFileAttributes.class); date = new Date(attr.creationTime().toMillis()); } else if (dateSource == DateSource.FILE_MODIFIED) { BasicFileAttributes attr = Files.readAttributes(sourceFile.toPath(), BasicFileAttributes.class); date = new Date(attr.lastModifiedTime().toMillis()); } else if (dateSource == DateSource.EXIF_ORIGINAL) { Metadata metadata;//from w ww. j ava 2s. c om Directory directory = null; try { metadata = ImageMetadataReader.readMetadata(sourceFile); directory = metadata.getFirstDirectoryOfType(ExifSubIFDDirectory.class); date = directory.getDate(ExifSubIFDDirectory.TAG_DATETIME_ORIGINAL); } catch (NullPointerException | ImageProcessingException ex) { String message; if (directory == null) { message = String.format(Dict.Dialog.ERROR_EXIF_NOT_FOUND.toString(), sourceFile.getAbsolutePath()); } else { message = String.format(Dict.Dialog.ERROR_FILE_FORMAT_NOT_SUPPORTED.toString(), sourceFile.getAbsolutePath()); } throw new ImageProcessingException(message); } } return date; }
From source file:com.github.zhanhb.ckfinder.download.PathPartial.java
/** * Check if the if-unmodified-since condition is satisfied. * * @param request The servlet request we are processing * @param attr File attributes/*from ww w . j a v a 2 s. co m*/ */ private void checkIfUnmodifiedSince(HttpServletRequest request, BasicFileAttributes attr) { if (request.getHeader(HttpHeaders.IF_MATCH) == null) { try { long lastModified = attr.lastModifiedTime().toMillis(); long headerValue = request.getDateHeader(HttpHeaders.IF_UNMODIFIED_SINCE); if (headerValue != -1 && lastModified >= headerValue + 1000) { // The entity has not been modified since the date // specified by the client. This is not an error case. throw new UncheckException(HttpServletResponse.SC_PRECONDITION_FAILED); } } catch (IllegalArgumentException ex) { throw new UncheckException(HttpServletResponse.SC_PRECONDITION_FAILED); } } }
From source file:de.micromata.genome.logging.spi.ifiles.IndexedWriter.java
public boolean moveExistantLogFiles(IndexFileLoggingImpl logger) throws IOException { // File logFile = new File(logger.getBaseFileName() + ".log"); // File idxFile = new File(logger.getBaseFileName() + ".idx"); if (logFile.exists() == false && indexFile.exists() == false) { return true; }//from ww w. j av a 2 s. c o m BasicFileAttributes attributes; if (logFile.exists() == true) { attributes = Files.readAttributes(Paths.get(logFile.getAbsolutePath()), BasicFileAttributes.class); } else { attributes = Files.readAttributes(Paths.get(indexFile.getAbsolutePath()), BasicFileAttributes.class); } boolean success = true; String suffix = getFileDateSuffix(attributes.lastModifiedTime().toMillis()); if (logFile.exists() == true) { File nf = new File(logFile.getParentFile(), logger.getBaseFileName() + suffix + ".log"); success &= logFile.renameTo(nf); } if (indexFile.exists() == true) { File nf = new File(indexFile.getParentFile(), logger.getBaseFileName() + suffix + ".idx"); boolean ixren = indexFile.renameTo(nf); if (ixren == true) { logger.indexDirectory.renameFile(indexFile, nf); } success &= ixren; } return true; }
From source file:org.duracloud.retrieval.mgmt.RetrievalWorkerTest.java
@Test public void testApplyTimestamps() throws Exception { String time1 = DateUtil.convertToStringLong(testTime + 100000); String time2 = DateUtil.convertToStringLong(testTime + 200000); String time3 = DateUtil.convertToStringLong(testTime + 300000); Map<String, String> props = new HashMap<>(); props.put(ContentStore.CONTENT_FILE_CREATED, time1); props.put(ContentStore.CONTENT_FILE_ACCESSED, time2); props.put(ContentStore.CONTENT_FILE_MODIFIED, time3); ContentStream content = new ContentStream(null, props); File localFile = new File(tempDir, "timestamp-test"); FileUtils.writeStringToFile(localFile, contentValue); // Check that initial timestamps are current BasicFileAttributes fileAttributes = Files.readAttributes(localFile.toPath(), BasicFileAttributes.class); long now = System.currentTimeMillis(); assertTrue(isTimeClose(fileAttributes.creationTime().toMillis(), now)); assertTrue(isTimeClose(fileAttributes.lastAccessTime().toMillis(), now)); assertTrue(isTimeClose(fileAttributes.lastModifiedTime().toMillis(), now)); RetrievalWorker worker = createRetrievalWorker(true); worker.applyTimestamps(content, localFile); // Verify that timestamps were set fileAttributes = Files.readAttributes(localFile.toPath(), BasicFileAttributes.class); long creationTime = fileAttributes.creationTime().toMillis(); long lastAccessTime = fileAttributes.lastAccessTime().toMillis(); long lastModifiedTime = fileAttributes.lastModifiedTime().toMillis(); assertFalse(isTimeClose(creationTime, now)); assertFalse(isTimeClose(lastAccessTime, now)); assertFalse(isTimeClose(lastModifiedTime, now)); assertTrue(testTime + 100000 == creationTime || // windows testTime + 300000 == creationTime); // linux assertEquals(testTime + 200000, lastAccessTime); assertEquals(testTime + 300000, lastModifiedTime); }
From source file:com.spectralogic.ds3client.metadata.WindowsMetadataRestore_Test.java
@Test public void restoreFileTimes_Test() throws Exception { final BasicHeader basicHeader[] = new BasicHeader[3]; final Path filePath = ResourceUtils.loadFileResource(FILE_NAME); final BasicFileAttributes attr = Files.readAttributes(filePath, BasicFileAttributes.class); basicHeader[0] = new BasicHeader(METADATA_PREFIX + MetadataKeyConstants.KEY_CREATION_TIME, String.valueOf(attr.creationTime().toMillis())); basicHeader[1] = new BasicHeader(METADATA_PREFIX + MetadataKeyConstants.KEY_ACCESS_TIME, String.valueOf(attr.lastAccessTime().toMillis())); basicHeader[2] = new BasicHeader(METADATA_PREFIX + MetadataKeyConstants.KEY_LAST_MODIFIED_TIME, String.valueOf(attr.lastModifiedTime().toMillis())); final Metadata metadata = genMetadata(basicHeader); final WindowsMetadataRestore windowsMetadataRestore = new WindowsMetadataRestore(metadata, filePath.toString(), MetaDataUtil.getOS()); windowsMetadataRestore.restoreFileTimes(); final BasicFileAttributes fileAttributes = Files.readAttributes(filePath, BasicFileAttributes.class); Assert.assertEquals(String.valueOf(fileAttributes.creationTime().toMillis()), String.valueOf(basicHeader[0].getValue())); Assert.assertEquals(String.valueOf(fileAttributes.lastModifiedTime().toMillis()), String.valueOf(basicHeader[2].getValue())); }
From source file:org.cryptomator.cryptofs.CryptoFileSystemImpl.java
private void copyAttributes(Path src, Path dst) throws IOException { Set<Class<? extends FileAttributeView>> supportedAttributeViewTypes = fileStore .supportedFileAttributeViewTypes(); if (supportedAttributeViewTypes.contains(BasicFileAttributeView.class)) { BasicFileAttributes srcAttrs = Files.readAttributes(src, BasicFileAttributes.class); BasicFileAttributeView dstAttrView = Files.getFileAttributeView(dst, BasicFileAttributeView.class); dstAttrView.setTimes(srcAttrs.lastModifiedTime(), srcAttrs.lastAccessTime(), srcAttrs.creationTime()); }//ww w. j a va 2s .c o m if (supportedAttributeViewTypes.contains(FileOwnerAttributeView.class)) { FileOwnerAttributeView srcAttrView = Files.getFileAttributeView(src, FileOwnerAttributeView.class); FileOwnerAttributeView dstAttrView = Files.getFileAttributeView(dst, FileOwnerAttributeView.class); dstAttrView.setOwner(srcAttrView.getOwner()); } if (supportedAttributeViewTypes.contains(PosixFileAttributeView.class)) { PosixFileAttributes srcAttrs = Files.readAttributes(src, PosixFileAttributes.class); PosixFileAttributeView dstAttrView = Files.getFileAttributeView(dst, PosixFileAttributeView.class); dstAttrView.setGroup(srcAttrs.group()); dstAttrView.setPermissions(srcAttrs.permissions()); } if (supportedAttributeViewTypes.contains(DosFileAttributeView.class)) { DosFileAttributes srcAttrs = Files.readAttributes(src, DosFileAttributes.class); DosFileAttributeView dstAttrView = Files.getFileAttributeView(dst, DosFileAttributeView.class); dstAttrView.setArchive(srcAttrs.isArchive()); dstAttrView.setHidden(srcAttrs.isHidden()); dstAttrView.setReadOnly(srcAttrs.isReadOnly()); dstAttrView.setSystem(srcAttrs.isSystem()); } }
From source file:com.arpnetworking.tsdcore.tailer.StatefulTailer.java
private Attributes getAttributes(final File file, final Optional<Long> lastChecked) throws IOException { final BasicFileAttributes attributes = Files.readAttributes(file.toPath(), BasicFileAttributes.class); LOGGER.trace(String.format("File attributes; file=%s, lastModifiedTime=%d, size=%d", file, Long.valueOf(attributes.lastModifiedTime().toMillis()), Long.valueOf(attributes.size()))); return new Attributes(attributes.size(), attributes.lastModifiedTime().toMillis(), lastChecked.isPresent() && attributes.lastModifiedTime().toMillis() > lastChecked.get().longValue()); }
From source file:com.spectralogic.ds3client.metadata.PosixMetadataRestore_Test.java
@Test public void restoreFileTimes_Test() throws Exception { final BasicHeader basicHeader[] = new BasicHeader[3]; final BasicFileAttributes attr = Files.readAttributes(file.toPath(), BasicFileAttributes.class); basicHeader[0] = new BasicHeader( MetadataKeyConstants.METADATA_PREFIX + MetadataKeyConstants.KEY_CREATION_TIME, String.valueOf(attr.creationTime().toMillis())); basicHeader[1] = new BasicHeader( MetadataKeyConstants.METADATA_PREFIX + MetadataKeyConstants.KEY_ACCESS_TIME, String.valueOf(attr.lastAccessTime().toMillis())); basicHeader[2] = new BasicHeader( MetadataKeyConstants.METADATA_PREFIX + MetadataKeyConstants.KEY_LAST_MODIFIED_TIME, String.valueOf(attr.lastModifiedTime().toMillis())); final Metadata metadata = genMetadata(basicHeader); final PosixMetadataRestore posixMetadataRestore = new PosixMetadataRestore(metadata, file.getPath(), MetaDataUtil.getOS());/*from w w w .j av a 2 s.c o m*/ posixMetadataRestore.restoreFileTimes(); final BasicFileAttributes fileAttributes = Files.readAttributes(file.toPath(), BasicFileAttributes.class); Assert.assertEquals(String.valueOf(fileAttributes.creationTime().toMillis()), String.valueOf(basicHeader[0].getValue())); Assert.assertEquals(String.valueOf(fileAttributes.lastModifiedTime().toMillis()), String.valueOf(basicHeader[2].getValue())); }
From source file:org.panbox.desktop.common.vfs.backend.generic.GenericVirtualFileImpl.java
@Override public long getLastWriteTime() { // return file.lastModified(); try {/* w ww. j av a 2 s . c o m*/ BasicFileAttributes attr = Files.readAttributes(file.toPath(), BasicFileAttributes.class, LinkOption.NOFOLLOW_LINKS); return attr.lastModifiedTime().toMillis(); } catch (IOException e) { logger.error("Error in getLastWriteTime()", e); return 0; } }