一起学习
目前尚未发现有任何干净利落的纯Java方法能够解决这个问题。通常的解决方案是直接访问操作系统获得这些信息。有一个被称为JConfig的类库提供了一些方法可以获得磁盘和文件信息,但是可以肯定这个类库使用了JNI方法。
下载地址:
如果你使用的是晕倒死系列操作系统,那么下面的方法也许能够获得正确的结果。我之所以说也许,是因为我在多个晕倒死平台上作过实际测试,在英文版的晕倒死上基本上都能够得到正确的结果,在中文版的晕倒死上基本上都不能够获得正确的结果。
String osname = System.getProperty("os.name");
String command = "";
if (osname.indexOf("NT") > -1)
command = "c:\\winnt\\System32\\cmd.exe";
else if (osname.indexOf("Windows") > -1)
command = "c:\\windows\\command.com";
Process p = Runtime.getRuntime().exec( command " /c dir > c:\\dir.txt");
p.waitFor();
|
然后你需要做的是对得到的dir.txt文件进行分析。
如果你使用的是UNIX/Linux操作系统,你可以使用类似的方法来获得相关信息。建议使用的命令是df -k > dir.txt。
下载本文示例代码
如何获得可用的硬盘空间?如何获得可用的硬盘空间?如何获得可用的硬盘空间?如何获得可用的硬盘空间?如何获得可用的硬盘空间?如何获得可用的硬盘空间?如何获得可用的硬盘空间?如何获得可用的硬盘空间?如何获得可用的硬盘空间?如何获得可用的硬盘空间?如何获得可用的硬盘空间?如何获得可用的硬盘空间?