我正在尝试使用来自 java 的 statvfs 调用来获取 / 文件夹上的可用空间,
我从 c 检查了 statvfs 结构的大小,它显示 44 个字节,我使用 java.nio.ByteBuffer.allocateDirect 44 个字节分配了一个字节缓冲区,它的顺序设置为 44 个字节。当我调用 statvfs 时,我得到的返回值为 0,所以我假设调用成功,但我似乎无法使用 buffer.getInt 从 ByteBuffer 中获取信息,返回 512 f_bsize 这是正确的,但之后我无法读取.
buffer.getInt(12) 应该给我 f_blocks 但我得到 0。
unsigned long f_bsize; /* File system block size */
unsigned long f_frsize; /* Fundamental file system block size */
fsblkcnt_t f_blocks; /* Blocks on FS in units of f_frsize */
还是我的逻辑有问题?