Java如何像Linux的命令“ du”那样获取文件的磁盘空间?

时间:2019-08-20 16:26:47

标签: java linux

我知道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获取文件的实际磁盘空间?

1 个答案:

答案 0 :(得分:1)

按照与Windows有关的问题的答案,How do you get the file on disk, and not just the file size in Java?,无法通过一个Java命令来完成,您可以从Java运行Linux du,有关技术{{ 3}}。