I need not last modification time and not last file accessed time, but file creation time. I have not found information about this. Maybe some libs?
Path p = Paths.get(f.getAbsoluteFile().toURI());
BasicFileAttributes view = null;
try {
view = Files.getFileAttributeView(p,
BasicFileAttributeView.class).readAttributes();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
FileTime creationTime = view.creationTime();
In this code creation time is not valid and return today date.
Operation System: Windows 7 Java: SE-1.7
How to get the creation date of a file in Java
, using BasicFileAttributes
class, this is an example:
Path path = Paths.get("C:\\Users\\jorgesys\\workspaceJava\\myfile.txt");
BasicFileAttributes attr;
try {
attr = Files.readAttributes(path, BasicFileAttributes.class);
System.out.println("Creation date: " + attr.creationTime());
} catch (IOException e) {
System.out.println("oops error! " + e.getMessage());
}
As yshavit said, not all operating systems record the date created. However, you should be able to use java.nio.file
to determine this information on operating systems that do have this functionality - see the documentation for files.getAttribute
- note that BasicFileAttributeView
has a field for creationTime
.
You can use FileSystems.getDefault();
to determine what FileAttributeView
s are supported on the current operating system.
Files.getAttribute(path, "basic:createdAt");
will return a FileTime
object with the date the file was created on a system that supports BasicFileAttributeView
. You'll have to convert it to a java.util.Date
object, but I'll let you figure that out on your own.
getAttribute()
BasicFileAttributeView
readAttributes()
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With