可用C 怎样获取linux上的各分区磁盘剩余空间?

yangwq99 2003-09-15 10:08:25
各位C大虾,我碰到一个问题一直没有解决:

我这个帖子在java板块已经贴了一个星期没有人回答?
用Java怎样获取linux上的各分区磁盘剩余空间?
http://expert.csdn.net/Expert/TopicView1.asp?id=2251081

是不是Java 无法直接取得?

能否用 C 语言直接读取磁盘剩余空间,然后用Java去获取 C的返回值?
...全文
461 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
doer_ljy 2003-09-26
  • 打赏
  • 举报
回复
使用重定向吧!
这个方法比较方便!
如果使用操作系统的系统调用来获得硬盘的剩余(df)。
那么这就属于进程间通讯的问题!
好多种通讯方法呢!
重定向就是其中一种
hailang_zh 2003-09-26
  • 打赏
  • 举报
回复
目前尚未发现有任何干净利落的纯Java方法能够解决这个问题。通常的解

决方案是直接访问操作系统获得这些信息。有一个被称为JConfig的类库提

供了一些方法可以获得磁盘和文件信息,但是可以肯定这个类库使用了JNI

方法。

下载地址:http://www.tolstoy.com/samizdat/jconfig.html

如果你使用的是晕倒死系列操作系统,那么下面的方法也许能够获得正确

的结果。我之所以说也许,是因为我在多个晕倒死平台上作过实际测试,

在英文版的晕倒死上基本上都能够得到正确的结果,在中文版的晕倒死上

基本上都不能够获得正确的结果。

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。

69,369

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧