软件频道>程序开发>JavaVBVCDelphiC/C++Web开发微软专栏移动数据库程序人生软件工程|开发客
您现在的位置: 天极网 > 开发频道 > 用纯JAVA语言编程读取MAC地址的实现
全文

用纯JAVA语言编程读取MAC地址的实现

2007-07-12 07:00作者:魏勇出处:计算机与信息技术责任编辑:webbtob
  在上面的程序中,为了读取命令输出的字符,利用子进程process生成了一个数据流缓冲区。

  依据上面的代码,我们编写了一个类ReadMAC,见下面程序的源代码:

以下是引用片段:
import java.io.*;
  public class ReadMAC {
  public static String physicalAddress = "read MAC error!";
  public ReadMAC() {
  }
  public static String checkPhysicalAddress(){
  try{
  String line;
  Process process = Runtime.getRuntime().exec("cmd /c ipconfig /all");
  BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(process.getInputStream()));
  while ( (line=bufferedReader.readLine()) != null){
  if(line.indexOf("Physical Address. . . . . . . . . :") != -1){
  if(line.indexOf(":") != -1){
  physicalAddress = line.substring(line.indexOf(":")+2);
  break; //找到MAC,推出循环
  }
  }
  }
  process.waitFor();
  }catch(Exception e){
  e.printStackTrace();
  }
  return physicalAddress;
  }
  public static void main(String[] args) {
  System.out.println("本机的MAC地址是: "+ ReadMAC.checkPhysicalAddress());
  }
  }

  编译运行该程序的输出结果如图2所示。

  图2

  由于每一台计算机的MAC地址都不同,所以该程序在不同计算机上运行结果都会不一样。

  5 结束语

  作为一个跨平台语言,编写的JAVA程序一般都与硬件无关,因而能运行在不同的操作系统环境。但这给编写底层相关的程序时带来不便。

  Java的应用程序都存在着一个与其运行环境相联系的Runtime对象,利用该对象可执行外部命令,在WindowsXP/NT/2000环境中的命令IPCONFIG的输出包含有MAC地址。本文编写的Java程序,执行外部命令IPCONFIG,并通过分析该命令的输入流而获得本机的MAC地址。由于IPCONFIG命令是操作系统命令,所以该方法既方便又可靠。

  以上讨论的程序适合于Windows XP/NT/2000操作系统,因为它是基于该操作系统的命令IPCONFIG格式的。由于不同操作系统读取MAC地址的命令、以及命令输出格式的不同,所以该程序不能直接运用到其它系统。要移植到其它系统只需针对命令的输出格式稍作修改。


  阅读关于 MAC Java 外部命令 的全部文章

软件资讯·软件下载尽在天极软件

共3页。 首页 上一页 1 2 3
相关搜索:
关注此文读者还看过
文章排行
本周
本月
最近更新
关于我们|About us|网站律师|天极服务|电子杂志|RSS订阅|加入我们|网站地图
TMG
Copyright (C) 1999-2009 Chinabyte.com, All Rights Reserved 版权所有 天极网络
商务联系、网站内容、合作建议:010-82657868
版权声明 在线提交意见反馈 渝ICP证B2-20030003号
经营性网站备案信息 网警备案 中国网站排名
天极传媒:天极网|比特网|IT专家网|IT商网|52PK游戏网|IT分众