java怎么提取硬盘ID呢?各位大侠多帮助啊。我查遍了api,都没有这方法,难道只能调用c语言代码吗???

解决方案 »

  1.   

    估计是吧。即使你不愿意自己写,能找到有人提供的 lib,恐怕也得是用 JNI 实现的。
      

  2.   

    java.io.File
    listRoots()
    列出可用的文件系统根目录
    示例:
    import java.io.*;
    public class RootLister {
    public static void main(String[] args) {File[] roots = File.listRoots( );
    for (int i = 0; i < roots.length; i++) {
    System.out.println(roots[i]);
    }
    }
    }
      

  3.   

    listRoots
    public static File[] listRoots()列出可用的文件系统根目录。 
    特定 Java 平台可以支持零个或更多个按层次组织的文件系统。每个文件系统有一个 root 目录,可以从这到达文件系统中的其他所有文件。例如,Windows 平台为每个活动驱动器提供了一个根目录;UNIX 平台只有一个根目录,即 "/"。可用文件系统根目录的设置受各种系统级操作的影响,比如可移动介质的插入和弹出,以及断开或卸载那些物理磁盘或虚拟磁盘。 此方法返回一个 File 对象数组,这些对象表示可用文件系统根的根目录。可以保证本地机器上物理存在的任何文件的规范路径名都以此方法返回的根目录之一开始。 位于其他一些机器上的文件的规范路径名是通过远程文件系统协议(比如 SMB 或 NFS)访问的,它们可能以此方法返回的根目录之一开始,也可能不是这样。如果远程文件的路径名在语法上无法与本地文件的路径名进行区分,那么它将以此方法返回的根目录之一开始。例如,此方法将返回表示 Windows 平台上映射为网络驱动器的根目录的 File 对象,而包含 UNC 路径名的 File 对象并不是由此方法返回。 与此类中的大多数方法不同,此方法不抛出安全性异常。如果存在安全管理器,且其 SecurityManager.checkRead(java.lang.String) 方法拒绝对特定根目录进行读取访问,则该目录不会显示在结果中。 
    返回:
    表示可用的文件系统根目录的 File 对象数组,如果无法确定根目录集,则返回 null。如果没有文件系统根目录,则该数组将为空。
    从以下版本开始: 
    1.2 
      

  4.   

    替楼主找得好辛苦
    http://www.cjsdn.net/post/view?bid=1&id=23381&tpg=1&ppg=1&sty=1&age=0#23381