Java如何像Linux的命令”du”一样获取文件的磁盘空间? | 珊瑚贝

Java how to get file’s disk space like Linux’s command “du”?


我知道 Java 可以使用 File.length(), FileChannel.size() 或 RandomAccessFile.length() 来获取文件的长度,但这等于 Linux 的命令”ls”。但是,当我创建具有以下特定长度的文件时:

1
2
    RandomAccessFile randomAccessFile = new RandomAccessFile(filePath,“rw”);
    randomAccessFile.setLength(10485760);

并使用”ls -l filePath”,我得到文件的长度是 10485760,但使用”du filePath”只能得到 0。

那么,如何使用Java获取文件的实际使用磁盘空间呢?

  • 查找稀疏文件。


根据对与 Windows 相关的问题的回答,您如何获取磁盘上的文件,而不仅仅是 Java 中的文件大小?,没有办法通过一个 Java 命令来完成,您可以运行 Linux du来自 Java,看看这里的技术 How to run Linux commands in Java?。


来源:https://www.codenong.com/57577926/

微信公众号
手机浏览(小程序)

Warning: get_headers(): SSL operation failed with code 1. OpenSSL Error messages: error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed in /mydata/web/wwwshanhubei/web/wp-content/themes/shanhuke/single.php on line 57

Warning: get_headers(): Failed to enable crypto in /mydata/web/wwwshanhubei/web/wp-content/themes/shanhuke/single.php on line 57

Warning: get_headers(https://static.shanhubei.com/qrcode/qrcode_viewid_9724.jpg): failed to open stream: operation failed in /mydata/web/wwwshanhubei/web/wp-content/themes/shanhuke/single.php on line 57
0
分享到:
没有账号? 忘记密码?