kotlin 计算目录的“磁盘大小”

6yoyoihd  于 2023-06-30  发布在  Kotlin
关注(0)|答案(1)|浏览(154)

我可以通过以下方式获得目录的递归大小:

val sz = Path("""D:\Games""").walk().sumOf { it.fileSize() }

在Windows上,目录的属性中有SizeSize on Disk。如何获得Size on Disk

8e2ybdfx

8e2ybdfx1#

很不幸,我怀疑有没有办法做到这一点。
我认为它需要一个系统调用,因为结果将取决于文件系统的确切细节,包括块大小、重复数据删除/数据共享、块打包、日志记录、压缩等。 (有些文件系统非常复杂!)
所以这不是你可以在纯Kotlin中做的事情,并且需要一个合适的库,并为你感兴趣的平台提供实现。 但是我不知道有这样的库,并且对this question的回答(要求Java方式)表明没有。

相关问题