什么日至文件系统支持Java UserDefinedFileAttributeView?(What

2019-08-17 11:01发布

我需要存储自定义数据与文件系统(每个文件约50字节)的文件。 我没有任何其他的存储来保存数据,并不能为这种额外的文件。 这是我的要求,我不能改变它。

我发现,这可以使用UserDefinedFileAttributeView类来完成。

什么文件系统支持这个功能吗? NTFS,FAT,Linux上的任何其他文件系统?

当实际存储数据,并有多可靠呢?

Answer 1:

我已经测试了自定义属性通过经UserDefinedFileAttributeView以下文件系统支持:NTFS,的ext4,ZFS。 其他流行的文件系统可以支持他们也。 不支持在下列范围内的文件系统FAT32,HFS +发现。



Answer 2:

我发现一些依托名单没有亲自不够的。 总有办法让底层实现,支持什么观点,也无论任何具体的观点是支持的。 看看下面的代码:

final FileSystem defaultFS = FileSystems.getDefault();

for (String fileAttributeView : defaultFS.supportedFileAttributeViews()) {
    System.out.println("Default file system supports: " + fileAttributeView);
}

随着输出:

Default file system supports: acl
Default file system supports: basic
Default file system supports: owner
Default file system supports: user
Default file system supports: dos

你可以阅读更多的在我的岗位上的NIO.2文件属性



Answer 3:

我还没有发现所有支持的文件系统中的任何完整列表。 看起来像许多现代文件系统(NTFS,EXT *)的支持。 正确地使用这些用户定义的属性的唯一方法是调用supportsFileAttributeView读取和写入数据之前。

您也可以尝试Preferences API它在某些JVM管理存储存储数据,所以在技术上你没有创建任何文件。



文章来源: What file sytems support Java UserDefinedFileAttributeView?