猿问

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

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

    RandomAccessFile randomAccessFile = new RandomAccessFile(filePath,"rw");
    randomAccessFile.setLength(10485760);

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

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


喵喔喔
浏览 141回答 0
0回答

一只斗牛犬

根据对与 Windows 有关的问题的回答,如何在磁盘上获取文件,而不仅仅是 Java 中的文件大小?, 没有办法通过一个 Java 命令来完成,你可以du 从 Java 运行 Linux,看看这里的技术How to run Linux commands in Java? .
随时随地看视频慕课网APP

相关分类

Java
我要回答