如果对于文件或目录还有疑问,例如文件是否隐藏、当前对象是文件还是目录、文件占用多少磁盘空间、文件拥有者是谁、等等。这一切问题都可以从文件元数据中得到。
NIO.2 中的元数据就是文件属性,并且提供了 java.nio.file.attribute 包来访问元数据。因为不同的文件系统有不同的文件属性,NIO.2 将这些属性通过视图(view)进行分组,每个视图都对应特定的文件系统。一般来说,视图的属性可以通过 java.nio.file.Files 类的 readAttributes() 来批量获取,也可以通过 getAttribute() 和 setAttribute() 方法来操作单个属性。
通过学习 NIO.2 提供的视图,可以获取关于文件的属性信息。
针对不同的文件系统和功能,NIO.2 提供以下 6 个属性视图:
- BasicFileAttributeView:这是基本属性视图,需要支持所有的文件系统实现。这个属性视图名为 basic。
- DosFileAttributeView:这个视图提供了 4 个标准属性,用于 DOS 的文件系统实现。这个属性视图名为 dos。
- PosixFileAttributeView:这个视图扩展了标准视图,用于 POSIX(Portable Operating System Interface for Unix)标准的文件系统实现,例如 UNIX。这个属性视图名为 posix。
- FileOwnerAttributeView:这个视图可用于任意文件系统实现,只要此文件系统支持文件所有者。这个属性视图名为 owner。
- AclFileAttributeView:这个视图用于读取和更新文件的 ACL(访问控制列表)。并且支持 NFSv4 ACL 模式。这个属性视图名为 acl。
- UserDefinedFileAttributeView:这个视图支持用户自定义的元数据。
文章来源:
http://www.aptusource.org/2014/03/nio-2-supported-views/
分享到:
相关推荐
第九章讲解了异步通道API,这是NIO.2中另一个重要的改进。 ### 12. 总结 第十章总结了NIO.2中最重要的知识点。 综上所述,《Pro Java 7 NIO.2》是一本全面深入地介绍了Java 7中NIO.2特性的书籍,对于希望掌握Java...
8. 文件权限管理:Java 7引入了NIO.2,提供了`java.nio.file.Files`和`java.nio.file.attribute`包,可以进行文件权限的设置和查询。 9. 文件监控:通过`java.nio.file.FileSystem`和`java.nio.file.FileSystems`类...
它提供了一些静态方法来创建、删除、重命名文件和目录,以及获取文件属性(如大小、最后修改时间等)。 4. **FileInputStream和FileOutputStream的使用**:使用这两个类可以读写二进制文件,如图片、音频或视频文件...
10. **NIO.2 API** Java 7引入了NIO.2,提供了新的文件系统操作API,如`Files`和`Paths`类,它们提供了更现代且强大的文件操作功能,例如异步文件操作、权限管理、遍历文件树等。 理解并熟练运用上述知识点,你就...
5. **文件属性获取**:通过`File.length()`获取文件大小,`Files.getLastModifiedTime()`得到最后修改时间,`Files.exists()`检查文件是否存在。 6. **文件过滤**:使用`Files.newDirectoryStream()`结合`...
NIO.2提供了更强大和灵活的文件系统操作,如Path类、Files类等,可以方便地获取文件属性、操作路径、检查文件权限等。 通过学习“第八次课IO操作二”,开发者能掌握Java IO的基本原理和常用操作,为实现各种复杂的...
Java 7引入的`java.nio.file.FileSystemWatcher`服务可以监控文件系统的变化,如文件的创建、修改和删除事件,这在实时系统和日志处理中非常有用。 7. **文件遍历**: 使用`Files.walk()`或`File.listFiles()`...
- **设置属性**: Java API不直接支持设置文件属性,但可以通过第三方库如Apache Commons IO实现。 6. **NIO(非阻塞I/O)** - **通道(Channels)**: NIO引入了通道的概念,如`FileChannel`,可以从文件中读取数据...
javax.sql.rowset.spi 第三方供应商在其同步提供者的实现中必须使用的标准类和接口。 javax.swing 提供一组“轻量级”(全部是 Java 语言)组件,尽量让这些组件在所有平台上的工作方式都相同。 javax.swing....
9. **文件属性**:`File`类的`length()`获取文件大小,`lastModified()`获取最后修改时间。 10. **文件操作的权限与安全**:在进行文件操作时,需要考虑到权限问题,避免因权限不足导致的异常。 11. **文件加密和...
《Java语言程序设计 第10版 进阶篇》是由著名计算机教育家Y. Daniel Liang(梁勇)编著的一本经典Java编程教材。本书是针对已经掌握Java基础的读者,旨在深入探讨Java的高级特性和应用。Part1部分是整个教材的第一半...
4. **文件属性和权限**:通过`File`类的方法,可以获取文件的大小、创建时间、最后修改时间等属性。同时,Java 7引入了`java.nio.file.attribute`包,可以处理文件权限和元数据。 5. **文件操作异常处理**:在进行...
10. **读取文件属性**:`File`类提供了获取文件基本信息的方法,如`exists()`, `isDirectory()`, `length()`, `lastModified()`等。 11. **写入属性**:Java不直接支持写入文件属性,但可以通过第三方库如Apache ...
3. **NIO.2**:Java 7引入了非阻塞I/O的第二版,增加了`java.nio.file`包,提供了文件系统操作的API,如路径操作、文件属性查询、文件观察者等。`Paths`类用于处理文件路径,`Files`类则包含各种文件操作方法。 4. ...
javaxml.zip 14.XML属性文件 第4部分(6个程序包) javagui.zip 15.Java GUI库对比实例 javaawt.zip 16.AWT图形界面开发——Java文本编辑器 javamedia.zip 17.AWT多媒体编程——录音机、MP3播放器、视频拍照、...
javaxml.zip 14.XML属性文件 第4部分(6个程序包) javagui.zip 15.Java GUI库对比实例 javaawt.zip 16.AWT图形界面开发——Java文本编辑器 javamedia.zip 17.AWT多媒体编程——录音机、MP3播放器、视频拍照、...
这涉及到文件属性的检查(如大小、修改时间等)以及文件内容的比较。Java的`java.io.File`类提供了文件和目录的遍历方法,而文件内容的比较可能需要用到哈希算法或逐字节比较。 4. **异步与并发**:为了提高性能,...