--------------------------------
ÊôÐÔ |
--------------------------------
# java.nio.file.attribute
* Ö§³ÖºÜÏêϸµÄÊôÐÔÉèÖÃ,°üÀ¨È¨Ï޵ȵÈ
# ÊôÐÔµÄ×î¶¥²ã½Ó¿Ú
# Ìåϵ
AttributeView
|-FileAttributeView(ÎļþÊôÐÔ½Ó¿Ú)
|-BasicFileAttributeView
* »ù±¾ÎļþÊôÐÔ½Ó¿Ú
|-PosixFileAttributes
* ÈíÁ¬½ÓÎļþÊôÐÔ½Ó¿Ú
|-UserDefinedFileAttributeView
* Óû§×Ô¶¨ÒåÊôÐÔ½Ó¿Ú
|-FileOwnerAttributeView
* ÎļþËùÓÐÕßÊôÐÔ½Ó¿Ú
|-AclFileAttributeView
* aclȨÏÞÊôÐÔ½Ó¿Ú
|-FileStoreAttributeView(´ÅÅÌ·ÖÇøÊôÐÔ½Ó¿Ú)
FileAttribute
# ÊôÐÔ½Ó¿Ú
# Á©³éÏó·½·¨
String name();
T value();
PosixFilePermission
# ȨÏÞÊôÐÔö¾ÙÀà
# ËùÓÐÕßȨÏÞ
OWNER_READ,
OWNER_WRITE,
OWNER_EXECUTE,
# ËùÊô×éȨÏÞ
GROUP_READ,
GROUP_WRITE,
GROUP_EXECUTE,
# ÆäËûÈËȨÏÞ
OTHERS_READ,
OTHERS_WRITE,
OTHERS_EXECUTE;
PosixFilePermissions
# ȨÏÞÊôÐÔ¶ÔÏ󹤾ßÀà
# ÎÞ·¨ÊµÀý»¯¶ÔÏó,¶¼ÊǾ²Ì¬·½·¨
Set fromString(String perms);
# ¸ù¾ÝLinuxµÄȨÏÞÉèÖÃ×Ö·û´®,À´´´½¨Ò»×é PosixFilePermission ¶ÔÏó
# "rw-------"
FileAttribute> asFileAttribute(Set perms);
# °ÑÒ»×é PosixFilePermission ת»»ÎªÎļþÊôÐÔ¶ÔÏó
--------------------------------
BasicFileAttributeView ½Ó¿Ú·½·¨ |
--------------------------------
BasicFileAttributes readAttributes();
* »ñÈ¡ÎļþÊôÐÔ
void setTimes(FileTime lastModifiedTime,FileTime lastAccessTime, FileTime createTime)
* Ö±½ÓÉèÖÃØí¸öʱ¼äÏà¹ØµÄÊôÐÔ
--------------------------------
BasicFileAttributes |
--------------------------------
# ÎļþÊôÐÔÃèÊö¶ÔÏó
# »ñÈ¡
BasicFileAttributes basicFileAttributes = Files.readAttributes(path,BasicFileAttributes.class);
# ʵÀý·½·¨
FileTime lastModifiedTime();
FileTime lastAccessTime();
FileTime creationTime();
boolean isRegularFile();
boolean isDirectory();
boolean isSymbolicLink();
boolean isOther();
long size();
Object fileKey();
--------------------------------
»ñÈ¡ÎļþÊôÐÔ |
--------------------------------
Path path = Paths.get("/temp/demo.txt");
1,Ö±½Ó»ñȡָ¶¨µÄÊôÐÔ
long size = (Long) Files.getAttribute(path, "basic:size", java.nio.file.LinkOption.NOFOLLOW_LINKS);
2,¸ù¾Ý½Ó¿ÚÀàÐÍ,»ñÈ¡ÊôÐÔView
V Files.getFileAttributeView(Path path,Class type,LinkOption... options)
--------------------------------
ÉèÖÃÎļþÊôÐÔ |
--------------------------------
Path path = Paths.get("/temp/demo.txt");
FileTime fileTime = FileTime.fromMillis(new Date().getTime());
Files.setAttribute(path, "basic:lastModifiedTime", fileTime, LinkOption.NOFOLLOW_LINKS); //×îºóÐÞ¸Äʱ¼ä
Files.setAttribute(path, "basic:creationTime", fileTime, LinkOption.NOFOLLOW_LINKS); //´´½¨Ê±¼ä
Files.setAttribute(path, "basic:lastAccessTime", fileTime, LinkOption.NOFOLLOW_LINKS); //×îºó·ÃÎÊʱ¼ä
--------------------------------
ÐÞ¸ÄÎļþÊôÐÔ |
--------------------------------
long time = System.currentTimeMillis();
FileTime fileTime = FileTime.fromMillis(time);
BasicFileAttributeView basicFileAttributeView = Files.getFileAttributeView(path, BasicFileAttributeView.class);
basicFileAttributeView.setTimes(fileTime, fileTime, fileTime);
---------------------------
ȨÏÞÉèÖà |
---------------------------
Set perms = PosixFilePermissions.fromString("rw-------");
FileAttribute> attrs = PosixFilePermissions.asFileAttribute(perms);
Files.setPosixFilePermissions(path,attrs)
---------------------------
»ñÈ¡ACLȨÏÞ |
---------------------------
AclFileAttributeView aclview = Files.getFileAttributeView(path, AclFileAttributeView.class);
List acllist = aclview.getAcl();