isReadOnly(): 返回只读属性值(true 表示文件不能被删除或修改)
isHidden(): 返回文件是否隐藏的属性(true 表示文件是隐藏文件)
isArchive(): 返回文件是否为存档文件的属性(用于备份程序)
isSystem(): 返回文件的系统属性(true 表示文件是系统文件)
下面的例子通过演示了如何获取这四个属性值:
import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; import java.nio.file.attribute.DosFileAttributes; ... DosFileAttributes attr = null; Path path = Paths.get("C:/rafaelnadal/tournaments/2009", "BNP.txt"); try { attr = Files.readAttributes(path, DosFileAttributes.class); } catch (IOException e) { System.err.println(e); } System.out.println("Is read only ? " + attr.isReadOnly()); System.out.println("Is Hidden ? " + attr.isHidden()); System.out.println("Is archive ? " + attr.isArchive()); System.out.println("Is system ? " + attr.isSystem());
设置和获取单个属性可以使用 setAttribute() 和 getAttribute() 方法,看看下面的例子:
import static java.nio.file.LinkOption.NOFOLLOW_LINKS; … //setting the hidden attribute to true try { Files.setAttribute(path, "dos:hidden", true, NOFOLLOW_LINKS); } catch (IOException e) { System.err.println(e); } //getting the hidden attribute try { boolean hidden = (Boolean) Files.getAttribute(path, "dos:hidden", NOFOLLOW_LINKS); System.out.println("Is hidden ? " + hidden); } catch (IOException e) { System.err.println(e); }
DOS 属性视图支持以下属性名称:
- hidden
- readonly
- system
- archive
访问属性的通用结构是 [view-name:]attribute-name,在这个例子中 view-name 是 dos,attribute-name 是 hidden。
文章来源: http://www.aptusource.org/2014/03/nio-2-dos-view/