Class FileTime
- java.lang.Object
-
- java.nio.file.attribute.FileTime
- All Implemented Interfaces:
Comparable<FileTime>
public final class FileTime extends Object implements Comparable<FileTime>
Represents the value of a file's time stamp attribute. For example, it may represent the time that the file was last modified
, accessed
, or created
.
Instances of this class are immutable.
- Since:
- 1.7
- See Also:
-
Files.setLastModifiedTime(java.nio.file.Path, java.nio.file.attribute.FileTime)
,Files.getLastModifiedTime(java.nio.file.Path, java.nio.file.LinkOption...)
Method Summary
Modifier and Type | Method | Description |
---|---|---|
int | compareTo(FileTime other) | Compares the value of two |
boolean | equals(Object obj) | Tests this |
static FileTime | from(long value,
TimeUnit unit) | Returns a |
static FileTime | from(Instant instant) | Returns a |
static FileTime | fromMillis(long value) | Returns a |
int | hashCode() | Computes a hash code for this file time. |
long | to(TimeUnit unit) | Returns the value at the given unit of granularity. |
Instant | toInstant() | Converts this |
long | toMillis() | Returns the value in milliseconds. |
String | toString() | Returns the string representation of this |
Methods declared in class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Method Detail
from
public static FileTime from(long value, TimeUnit unit)
Returns a FileTime
representing a value at the given unit of granularity.
- Parameters:
-
value
- the value since the epoch (1970-01-01T00:00:00Z); can be negative -
unit
- the unit of granularity to interpret the value - Returns:
- a
FileTime
representing the given value
fromMillis
public static FileTime fromMillis(long value)
Returns a FileTime
representing the given value in milliseconds.
- Parameters:
-
value
- the value, in milliseconds, since the epoch (1970-01-01T00:00:00Z); can be negative - Returns:
- a
FileTime
representing the given value
from
public static FileTime from(Instant instant)
Returns a FileTime
representing the same point of time value on the time-line as the provided Instant
object.
- Parameters:
-
instant
- the instant to convert - Returns:
- a
FileTime
representing the same point on the time-line as the provided instant - Since:
- 1.8
to
public long to(TimeUnit unit)
Returns the value at the given unit of granularity.
Conversion from a coarser granularity that would numerically overflow saturate to Long.MIN_VALUE
if negative or Long.MAX_VALUE
if positive.
- Parameters:
-
unit
- the unit of granularity for the return value - Returns:
- value in the given unit of granularity, since the epoch since the epoch (1970-01-01T00:00:00Z); can be negative
toMillis
public long toMillis()
Returns the value in milliseconds.
Conversion from a coarser granularity that would numerically overflow saturate to Long.MIN_VALUE
if negative or Long.MAX_VALUE
if positive.
- Returns:
- the value in milliseconds, since the epoch (1970-01-01T00:00:00Z)
toInstant
public Instant toInstant()
Converts this FileTime
object to an Instant
.
The conversion creates an Instant
that represents the same point on the time-line as this FileTime
.
FileTime
can store points on the time-line further in the future and further in the past than Instant
. Conversion from such further time points saturates to Instant.MIN
if earlier than Instant.MIN
or Instant.MAX
if later than Instant.MAX
.
- Returns:
- an instant representing the same point on the time-line as this
FileTime
object - Since:
- 1.8
equals
public boolean equals(Object obj)
Tests this FileTime
for equality with the given object.
The result is true
if and only if the argument is not
null
and is a FileTime
that represents the same time. This method satisfies the general contract of the Object.equals
method.
- Overrides:
-
equals
in classObject
- Parameters:
-
obj
- the object to compare with - Returns:
-
true
if, and only if, the given object is aFileTime
that represents the same time - See Also:
-
Object.hashCode()
,HashMap
hashCode
public int hashCode()
Computes a hash code for this file time.
The hash code is based upon the value represented, and satisfies the general contract of the Object.hashCode()
method.
- Overrides:
-
hashCode
in classObject
- Returns:
- the hash-code value
- See Also:
-
Object.equals(java.lang.Object)
,System.identityHashCode(java.lang.Object)
compareTo
public int compareTo(FileTime other)
Compares the value of two FileTime
objects for order.
- Specified by:
-
compareTo
in interfaceComparable<FileTime>
- Parameters:
-
other
- the otherFileTime
to be compared - Returns:
-
0
if thisFileTime
is equal toother
, a value less than 0 if thisFileTime
represents a time that is beforeother
, and a value greater than 0 if thisFileTime
represents a time that is afterother
toString
public String toString()
Returns the string representation of this FileTime
. The string is returned in the ISO 8601 format:
YYYY-MM-DDThh:mm:ss[.s+]Zwhere "
[.s+]
" represents a dot followed by one of more digits for the decimal fraction of a second. It is only present when the decimal fraction of a second is not zero. For example,
FileTime.fromMillis(1234567890000L).toString()
yields
"2009-02-13T23:31:30Z"
, and FileTime.fromMillis(1234567890123L).toString()
yields "2009-02-13T23:31:30.123Z"
.
A FileTime
is primarily intended to represent the value of a file's time stamp. Where used to represent extreme values, where the year is less than "0001
" or greater than "9999
" then this method deviates from ISO 8601 in the same manner as the XML Schema language. That is, the year may be expanded to more than four digits and may be negative-signed. If more than four digits then leading zeros are not present. The year before "0001
" is "-0001
".