我知道 Java 可以使用 File.length()、FileChannel.size()
或 RandomAccessFile.length()
来获取文件的长度,但这等同于 Linux 的命令“ls”。但是,当我创建一个具有特定长度的文件时,如下所示:
RandomAccessFile randomAccessFile = new RandomAccessFile(filePath,"rw");
randomAccessFile.setLength(10485760);
并使用“ls -l filePath”,我得到文件的长度是 10485760,但使用“du filePath”只得到 0。
那么,如何使用Java获取文件实际使用的磁盘空间呢?
最佳答案
根据对有关 Windows 的问题的回答,How do you get the file on disk, and not just the file size in Java? , 没有办法通过一个 Java 命令来完成,你可以从 Java 运行 Linux du
,看看这里的技术 How to run Linux commands in Java? .
关于Java如何像Linux的命令 "du"一样获取文件的磁盘空间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57577926/