Java nio 为我们提供了创建稀疏文件的选项
val path = Path("""E:\a""")
val fileChannel = FileChannel.open(
path,
StandardOpenOption.READ,
StandardOpenOption.WRITE,
StandardOpenOption.CREATE_NEW,
StandardOpenOption.SPARSE,
)
文档说,如果操作系统和文件系统支持,则会创建稀疏文件,但如果不支持,则会创建常规文件
但我想知道操作系统+文件系统是否支持 SPARSE,以便我可以从我的应用程序中禁用某个功能。
您可以使用稀疏选项创建一个大小为 10 KB 的空文件,并检查它在文件系统上的实际大小。如果实际大小小于 10 KB,则支持稀疏。如果是 10KB - 则不支持。并检查后删除文件。