Java如何获取文件';s磁盘空间,如Linux';s命令“;杜;?

Java如何获取文件';s磁盘空间,如Linux';s命令“;杜;?,java,linux,Java,Linux,我知道Java可以使用File.length()、FileChannel.size()或RandomAccessFile.length()来获取文件的长度,但这等于Linux的命令“ls”。但是,当我创建具有特定长度的文件时,如下所示: RandomAccessFile randomAccessFile = new RandomAccessFile(filePath,"rw"); randomAccessFile.setLength(10485760); 使用“ls-lfile

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

    RandomAccessFile randomAccessFile = new RandomAccessFile(filePath,"rw");
    randomAccessFile.setLength(10485760);
使用“ls-lfilepath”,我得到文件的长度是10485760,但是使用“dufilepath”只得到0


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

根据对有关Windows的问题的回答,用一个Java命令无法做到这一点,您可以从Java运行Linux
du
,请看这里的技术

查找稀疏文件。