利用java得到硬盘信息

需要得要硬盘的品牌块数容量已经使用量有高手知道么~~如果用jni请给代码~及相关文件... 需要得要硬盘的品牌 块数 容量 已经使用量
有高手知道么~~如果用jni请给代码~及相关文件
展开
 我来答
百度网友7508b5016
2009-04-16 · TA获得超过149个赞
知道答主
回答量:97
采纳率:0%
帮助的人:38.9万
展开全部
import java.io.File;

/**
*
* jdk6.0下的磁盘使用情况例子
*/
public class Diskfree {
public static void main(String[] args) {
File[] roots = File.listRoots();//获取磁盘分区列表
for (File file : roots) {
System.out.println(file.getPath()+"信息如下:");
System.out.println("空闲未使用 = " + file.getFreeSpace()/1024/1024/1024+"G");//空闲空间
System.out.println("已经使用 = " + file.getUsableSpace()/1024/1024/1024+"G");//可用空间
System.out.println("总容量 = " + file.getTotalSpace()/1024/1024/1024+"G");//总空间
System.out.println();
}
}
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
℡玥玥弔
2009-04-16 · TA获得超过1590个赞
知道答主
回答量:119
采纳率:0%
帮助的人:95.9万
展开全部
有一个被称为JConfig的类库提供了一些方法可以获得磁盘和文件信息,但是可以肯定这个类库使用了JNI方法。自己下载哦! 如果你使用的是windows系列操作系统,那么下面的方法就能获取正确的结果。

public static void main(String args[]){
String osname = System.getProperty("os.name");
String command = "";
if (osname.indexOf("NT") > -1)
command = "c:winntSystem32cmd.exe";
else if (osname.indexOf("Windows") > -1)
command = "c:windowscommand.com";
Process p;
try {
p = Runtime.getRuntime().exec(command + " /d dir > d:dir.txt");
try {
p.waitFor();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} catch (IOException e) {
e.printStackTrace();
}

}
然后你需要做的是对得到的dir.txt文件进行分析
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
shiliangxu
2009-04-16 · TA获得超过162个赞
知道小有建树答主
回答量:750
采纳率:0%
帮助的人:281万
展开全部
JNI类似操作系统里的注册表吧。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式