用JAVA获取硬盘序列号的方法

2012-02-07 10:45:15|?次阅读|上传:wustguangh【已有?条评论】发表评论

关键词:Java, 操作系统|来源:唯设编程网

希捷(Seagate)迈拓(Maxtor)西部数据(Western Digital)三星(SAMSUNG) 日立(HITACHI)等硬盘都有自己规定方式编号的硬盘序列号,所谓序列号就是硬盘编号。硬盘序列号是硬盘格式化时系统分配给硬盘的一组十六进制字符串,除分对硬盘重新进行格式化,硬盘序列号是不会改变的。所以,很多软件都会以硬盘序列号判断用户是否合法用户。 

C#,C++等语言获取硬盘序列号方法很多很方便,但是JAVA的方法不多见。以下是JAVA获取硬盘序列号的一种方法,仅供参考。 

返回的字符串HDserialnumber就是所需要的硬盘序列号:

String HDserialnumber=getHdSerialInfo() ; 
public static String getHdSerialInfo() {
  String line = "";
  String HdSerial = "";//定义变量 硬盘序列号
  try {
   Process proces = Runtime.getRuntime().exec("cmd /c dir c:");//获取命令行参数
   BufferedReader buffreader = new BufferedReader(
     new InputStreamReader(proces.getInputStream()));
   while ((line = buffreader.readLine()) != null) {
    if (line.indexOf("卷的序列号是 ") != -1) {  //读取参数并获取硬盘序列号
     HdSerial = line.substring(line.indexOf("卷的序列号是 ")
       + "卷的序列号是 ".length(), line.length());
     break;
     // System.out.println(HdSerial);
    }
   }
  } catch (IOException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
  return HdSerial;//返回硬盘序列号 卷的序列 非物理
}

本文转自:http://blog.csdn.net/qqxinxi/article/details/6557927

发表评论0条 】
网友评论(共?条评论)..
用JAVA获取硬盘序列号的方法