Path path = Paths.get("path/to/file"); BasicFileAttributes attributes = Files.readAttributes(path, BasicFileAttributes.class); FileTime creationTime = attributes.creationTime();
private long determineCreationDate(File file, Optional<BasicFileAttributes> fileAttributes) { if (fileAttributes.isPresent()) { return fileAttributes.get().creationTime().toMillis(); } else { // Creation date is unavailable on unix based oS return file.lastModified(); } }
Path file = ...; BasicFileAttributes attr = Files.readAttributes(file, BasicFileAttributes.class); System.out.println("creationTime: " + attr.creationTime()); System.out.println("lastAccessTime: " + attr.lastAccessTime()); System.out.println("lastModifiedTime: " + attr.lastModifiedTime());
@Override public boolean accept(Path path) throws IOException { if (!path.toFile().exists()) { return false; } if (!path.getFileName().toString().startsWith(TMP_NAME_PREFIX)) { return false; } long threshold = System.currentTimeMillis() - CLEAN_MAX_AGE; // we could also check the timestamp in the name, instead BasicFileAttributes attrs; try { attrs = Files.readAttributes(path, BasicFileAttributes.class); } catch (IOException ioe) { LOG.error(String.format("Couldn't read file attributes for %s : ", path), ioe); return false; } long creationTime = attrs.creationTime().toMillis(); return creationTime < threshold; } }
public static Memory filectime(Environment env, TraceInfo trace, String path) { Path file = Paths.get(path); try { BasicFileAttributes attributes = Files.readAttributes(file, BasicFileAttributes.class); return LongMemory.valueOf(attributes.creationTime().toMillis() / 1000); } catch (IOException e) { env.warning(trace, e.getMessage()); return Memory.FALSE; } catch (UnsupportedOperationException e) { return Memory.FALSE; } }
public FilePropsImpl(BasicFileAttributes attrs) { creationTime = attrs.creationTime().toMillis(); lastModifiedTime = attrs.lastModifiedTime().toMillis(); lastAccessTime = attrs.lastAccessTime().toMillis(); isDirectory = attrs.isDirectory(); isOther = attrs.isOther(); isRegularFile = attrs.isRegularFile(); isSymbolicLink = attrs.isSymbolicLink(); size = attrs.size(); }
@Override protected Lock obtainFSLock(FSDirectory dir, String lockName) throws IOException { Path lockDir = dir.getDirectory(); // Ensure that lockDir exists and is a directory. // note: this will fail if lockDir is a symlink Files.createDirectories(lockDir); Path lockFile = lockDir.resolve(lockName); // create the file: this will fail if it already exists try { Files.createFile(lockFile); } catch (FileAlreadyExistsException | AccessDeniedException e) { // convert optional specific exception to our optional specific exception throw new LockObtainFailedException("Lock held elsewhere: " + lockFile, e); } // used as a best-effort check, to see if the underlying file has changed final FileTime creationTime = Files.readAttributes(lockFile, BasicFileAttributes.class).creationTime(); return new SimpleFSLock(lockFile, creationTime); }
@Override public void ensureValid() throws IOException { if (closed) { throw new AlreadyClosedException("Lock instance already released: " + this); } // try to validate the backing file name, that it still exists, // and has the same creation time as when we obtained the lock. // if it differs, someone deleted our lock file (and we are ineffective) FileTime ctime = Files.readAttributes(path, BasicFileAttributes.class).creationTime(); if (!creationTime.equals(ctime)) { throw new AlreadyClosedException("Underlying file changed by an external force at " + ctime + ", (lock=" + this + ")"); } }
private static FileUploadResult getFileUploadResult( String keyspaceName, String columnFamilyName, Path file) throws Exception { BasicFileAttributes fileAttributes = Files.readAttributes(file, BasicFileAttributes.class); return new FileUploadResult( file, keyspaceName, columnFamilyName, fileAttributes.lastModifiedTime().toInstant(), fileAttributes.creationTime().toInstant(), fileAttributes.size()); }
final FileTime creationTime = Files.readAttributes(realPath, BasicFileAttributes.class).creationTime();
@Override public void ensureValid() throws IOException { if (closed) { throw new AlreadyClosedException("Lock instance already released: " + this); } // check we are still in the locks map (some debugger or something crazy didn't remove us) if (!LOCK_HELD.contains(path.toString())) { throw new AlreadyClosedException("Lock path unexpectedly cleared from map: " + this); } // check our lock wasn't invalidated. if (!lock.isValid()) { throw new AlreadyClosedException("FileLock invalidated by an external force: " + this); } // try to validate the underlying file descriptor. // this will throw IOException if something is wrong. long size = channel.size(); if (size != 0) { throw new AlreadyClosedException("Unexpected lock file size: " + size + ", (lock=" + this + ")"); } // try to validate the backing file name, that it still exists, // and has the same creation time as when we obtained the lock. // if it differs, someone deleted our lock file (and we are ineffective) FileTime ctime = Files.readAttributes(path, BasicFileAttributes.class).creationTime(); if (!creationTime.equals(ctime)) { throw new AlreadyClosedException("Underlying file changed by an external force at " + ctime + ", (lock=" + this + ")"); } }
BasicFileAttributes attrs = view.readAttributes(); attributes.put(FILE_LAST_MODIFY_TIME_ATTRIBUTE, formatter.format(new Date(attrs.lastModifiedTime().toMillis()))); attributes.put(FILE_CREATION_TIME_ATTRIBUTE, formatter.format(new Date(attrs.creationTime().toMillis()))); attributes.put(FILE_LAST_ACCESS_TIME_ATTRIBUTE, formatter.format(new Date(attrs.lastAccessTime().toMillis()))); } catch (Exception ignore) {
BasicFileAttributeView view = Files.getFileAttributeView(filePath, BasicFileAttributeView.class); BasicFileAttributes attrs = view.readAttributes(); attributes.put(FILE_CREATION_TIME_ATTRIBUTE, formatter.format(new Date(attrs.creationTime().toMillis()))); attributes.put(FILE_LAST_ACCESS_TIME_ATTRIBUTE, formatter.format(new Date(attrs.lastAccessTime().toMillis()))); } catch (Exception ignore) {
@Override public PropertiesCollector collect(final File file) { try { BasicFileAttributes attributes = Files.readAttributes(file.toPath(), BasicFileAttributes.class); date = new Date(attributes.creationTime().to(TimeUnit.MILLISECONDS)); } catch (IOException e) { if (LOGGER.isLoggable(Level.FINE)) { LOGGER.log(Level.FINE, e.getLocalizedMessage(), e); } } return this; }
/** * @param fileName * @param directory * @param attrs */ public FileInfo(String fileName, boolean directory, BasicFileAttributes attrs) { this.fileName = fileName; this.directory = directory; this.lastModifiedTime = new Date(attrs.lastModifiedTime().toMillis()); this.lastAccessTime = new Date(attrs.lastAccessTime().toMillis()); this.creationTime = new Date(attrs.creationTime().toMillis()); this.size = attrs.size(); }
/** * @param fileName * @param directory * @param attrs */ public FileInfo(String fileName, boolean directory, BasicFileAttributes attrs) { this.fileName = fileName; this.directory = directory; this.lastModifiedTime = new Date(attrs.lastModifiedTime().toMillis()); this.lastAccessTime = new Date(attrs.lastAccessTime().toMillis()); this.creationTime = new Date(attrs.creationTime().toMillis()); this.size = attrs.size(); }
public static LocalDateTime getCreationTime(File file) { LocalDateTime time; try { Path path = Paths.get(file.getAbsolutePath()); BasicFileAttributes fileattr = Files .getFileAttributeView(path, BasicFileAttributeView.class) .readAttributes(); time = LocalDateTime.ofInstant(fileattr.creationTime().toInstant(), ZoneId.systemDefault()); } catch (Exception e) { time = null; } return time; }
Path file = ...; BasicFileAttributes attr = Files.readAttributes(file, BasicFileAttributes.class); System.out.println("creationTime: " + attr.creationTime()); System.out.println("lastAccessTime: " + attr.lastAccessTime()); System.out.println("lastModifiedTime: " + attr.lastModifiedTime()); System.out.println("isDirectory: " + attr.isDirectory()); System.out.println("isOther: " + attr.isOther()); System.out.println("isRegularFile: " + attr.isRegularFile()); System.out.println("isSymbolicLink: " + attr.isSymbolicLink()); System.out.println("size: " + attr.size());
import java.io.IOException; import java.nio.file.*; import java.nio.file.attribute.*; public class TestFA { static void getAttributes(String pathStr) throws IOException { Path p = Paths.get(pathStr); BasicFileAttributes view = Files.getFileAttributeView(p, BasicFileAttributeView.class) .readAttributes(); System.out.println(view.creationTime()+" is the same as "+view.lastModifiedTime()); } public static void main(String[] args) throws IOException { for (String s : args) { getAttributes(s); } } }
public FilePropsImpl(BasicFileAttributes attrs) { creationTime = attrs.creationTime().toMillis(); lastModifiedTime = attrs.lastModifiedTime().toMillis(); lastAccessTime = attrs.lastAccessTime().toMillis(); isDirectory = attrs.isDirectory(); isOther = attrs.isOther(); isRegularFile = attrs.isRegularFile(); isSymbolicLink = attrs.isSymbolicLink(); size = attrs.size(); }