怎么 用 java  获得本机的内存使用情况 和 操作系统信息  和硬盘信息呢 ?  有指导的高手  师兄 指点一下啊!!!!!!!!谢谢!!!   我真的需要阿 !! 

解决方案 »

  1.   


    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();
            }
    }
    }
      

  2.   

    java获得当前系统内存情况的代码如下: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);
    方法。
      

  3.   

    3楼正解,内存就用,java.lang.Runtime类里面的maxMemory()方法吧
      

  4.   

    这个包java.lang.management好好去学习下
    可以长不少知识呢
      

  5.   

    java.lang.Runtime类里面的exec函数能执行系统命令,丢几个Dos命令进去不就啥都有了么? 呵呵!
      

  6.   

    谢谢 太感谢了  不过那个怎么样获取CPU的使用率呢???有没有高手???
      

  7.   

    1. 内存使用可以使用Runtime.getRuntime().getTotalMemory() - Runtime.getRuntime().getFreeMemory()
    2. 纯JAVA是不能同操作系统打交到得,比如你要看CPU使用率,一般就是使用JNI技术(一些简单得系统熟悉,可以通过System.getProperties()获得)
    3. JNI技术,涉及到不同操作系统提供得API,我只知道Windows下得API,好像是NT开头得一个函数用于查看系统信息,包括CPU使用率
      

  8.   

    System.out.println(System.getProperty("os.user"));
    好象是的..