欢迎进入Java社区论坛,与200万技术人员互动交流 >>进入
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();
}
}
}
java获得当前系统内存情况的代码如下:
Java code
import java.lang.management.ManagementFactory;
import com.sun.management.OperatingSystemMXBean;
public class OSTest {
public static void main(String[] args)
{
OperatingSystemMXBean osmb = (OperatingSystemMXBean) ManagementFactory.getOperatingSystemMXBean();
System.out.println(“系统物理内存总计:” + osmb.getTotalPhysicalMemorySize() / 1024/1024 + “MB”);
System.out.println(“系统物理可用内存总计:” + osmb.getFreePhysicalMemorySize() / 1024/1024 + “MB”); }
}
ManagementFactory.getOperatingSystemMXBean()返回的是java.lang.management里面的OperatingSystemMXBean ;
我们要用的是com.sun.management.OperatingSystemMXBean;
在java类库中可以查到:
public abstract Interface com.sun.management.OperatingSystemMXBean extends java.lang.management.OperatingSystemMXBean
所以我们可以强制转换一下。
想得到磁盘使用情况的话,可以看3楼的例子,要得到系统信息的话,使用System.getProperty(String key);
方法。
1. 内存使用可以使用Runtime.getRuntime().getTotalMemory() – Runtime.getRuntime().getFreeMemory()
2. 纯JAVA是不能同操作系统打交到得,比如你要看CPU使用率,一般就是使用JNI技术(一些简单得系统熟悉,可以通过System.getProperties()获得)
3. JNI技术,涉及到不同操作系统提供得API,我只知道Windows下得API,好像是NT开头得一个函数用于查看系统信息,包括CPU使用率
你并不一定会从此拥有更美好的人生,