我知道Java可以使用File.length(), FileChannel.size()orRandomAccessFile.length()来获取文件的长度,但这相当于Linux的命令“ls”。但是,当我创建具有特定长度的文件时,如下所示:
RandomAccessFile randomAccessFile = new RandomAccessFile(filePath,"rw");
randomAccessFile.setLength(10485760);
Run Code Online (Sandbox Code Playgroud)
并使用“ls -l filePath”,我得到文件的长度是10485760,但使用“du filePath”只能得到0。
那么,如何使用Java获取文件实际使用的磁盘空间呢?
根据与 Windows 有关的问题的答案,如何获取磁盘上的文件,而不仅仅是 Java 中的文件大小?,没有办法通过一个Java命令来做到这一点,你可以du 从Java运行Linux,看看这里的技术如何在Java中运行Linux命令?。
| 归档时间: |
|
| 查看次数: |
726 次 |
| 最近记录: |