我需要存储自定义数据与文件系统(每个文件约50字节)的文件。 我没有任何其他的存储来保存数据,并不能为这种额外的文件。 这是我的要求,我不能改变它。
我发现,这可以使用UserDefinedFileAttributeView类来完成。
什么文件系统支持这个功能吗? NTFS,FAT,Linux上的任何其他文件系统?
当实际存储数据,并有多可靠呢?
我需要存储自定义数据与文件系统(每个文件约50字节)的文件。 我没有任何其他的存储来保存数据,并不能为这种额外的文件。 这是我的要求,我不能改变它。
我发现,这可以使用UserDefinedFileAttributeView类来完成。
什么文件系统支持这个功能吗? NTFS,FAT,Linux上的任何其他文件系统?
当实际存储数据,并有多可靠呢?
我已经测试了自定义属性通过经UserDefinedFileAttributeView以下文件系统支持:NTFS,的ext4,ZFS。 其他流行的文件系统可以支持他们也。 不支持在下列范围内的文件系统FAT32,HFS +发现。
我发现一些依托名单没有亲自不够的。 总有办法让底层实现,支持什么观点,也无论任何具体的观点是支持的。 看看下面的代码:
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文件属性
我还没有发现所有支持的文件系统中的任何完整列表。 看起来像许多现代文件系统(NTFS,EXT *)的支持。 正确地使用这些用户定义的属性的唯一方法是调用supportsFileAttributeView
读取和写入数据之前。
您也可以尝试Preferences API
它在某些JVM管理存储存储数据,所以在技术上你没有创建任何文件。