`
498320858
  • 浏览: 393126 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

利用正则表达式获取网卡的MAC地址

阅读更多

现在网上有许多用java实现的获取MAC地址的方法,都是利用了windows系统的config命令,但是这些方法都是直接查找config命令的输 出字符串。这种方法对一种语言的windows系统还可以,当在其它语言的系统下运行时,就会出现问题,本文的代码利用正则表达式,使获取MAC地址的程 序能够在多语言环境下运行。

import java.io.*;
import java.util.regex.*;
public class ReadMacByJava
{
private String mPhysicalAddress = "";
private int mPhysicalMacNumber = 0;
private boolean isInit = false;

public ReadMacByJava()
{
}

public void init()
{
try
{
String line;
Process process = Runtime.getRuntime().exec("cmd /c ipconfig /all");
BufferedReader bufferedReader = new BufferedReader(
new InputStreamReader(process.getInputStream()));
Pattern macPattern =
Pattern.compile("([0-9A-Fa-f]{2})(-[0-9A-Fa-f]{2}){5}");
Matcher macMatcher;
boolean result;
while ((line = bufferedReader.readLine()) != null)
{
if ("".equals(line))
continue;
macMatcher = macPattern.matcher(line);
result = macMatcher.find();
if (result)
{
mPhysicalMacNumber++;
if ("".equals(mPhysicalAddress))
mPhysicalAddress = macMatcher.group(0);
else
mPhysicalAddress += ("," + macMatcher.group(0));
}
}
}
catch (Exception e)
{
e.printStackTrace();
}
isInit = true;
}
public String getPhysicalAddress()
{
if (isInit)
return this.mPhysicalAddress;
else
return "Mac is not init.";
}
public int getPhysicalMacNumber()
{
if (isInit)
return this.mPhysicalMacNumber;
else
{
System.out.println("Mac is not init.");
return 0;
}
}
public static void main(String[] args)
{
ReadMacByJava mac = new ReadMacByJava();
mac.init();
System.out.println("MAC "+mac.getPhysicalMacNumber()+" address :"
+ mac.getPhysicalAddress());
}
}
  运行结果:
C:\java>java ReadMacByJava
MAC 1 address :00-40-CA-C9-9F-71


来源:http://www.java3z.com/cwbwebhome/article/article5/5930.html?id=1873

分享到:
评论

相关推荐

    java通过正则表达式匹配获取MAC(支持windows和Linux)

    java通过正则表达式匹配获取MAC(支持windows和Linux)

    PB实现的正则表达式

    标题"PB实现的正则表达式"表明我们将关注的是在PowerBuilder中如何利用正则表达式进行编程。由于描述中提到"不支持中文",这可能意味着该实现可能没有包含对Unicode字符集的支持,因此可能无法处理中文字符。然而,...

    正则表达式转换工具

    综上所述,"正则表达式转换工具"是处理文本数据的强大辅助,它简化了正则表达式的构造过程,使得非专业人士也能方便地利用正则表达式的强大功能。对于编程人员来说,熟练掌握正则表达式不仅可以提高工作效率,还能...

    pb 使用正则表达式源码pbregexp

    标题中的“pb 使用正则表达式源码pbregexp”指的是在PowerBuilder(简称pb)环境中,利用名为“pbregexp”的正则表达式组件来实现源代码级别的正则表达式操作。PowerBuilder是一款流行的可视化的、面向对象的软件...

    Java使用正则表达式提取XML节点内容的方法示例

    Java使用正则表达式提取XML节点内容的方法示例 Java使用正则表达式提取XML节点内容的方法示例主要介绍了Java使用正则表达式提取XML节点内容的方法,结合具体实例形式分析了java针对xml格式字符串的正则匹配相关操作...

    正则表达式在数据库查询中的应用

    ### 正则表达式在数据库查询中的...通过合理利用正则表达式的功能,可以极大地提高数据库管理和应用程序开发的效率。然而,在使用正则表达式时也需要考虑到潜在的性能和安全问题,确保其在实际应用中的有效性和可靠性。

    VC、VC++,MFC 正则表达式类库

    正则表达式类库则为VC++和MFC的开发者提供了对正则表达式功能的支持。 "VC、VC++,MFC 正则表达式类库"指的是在MFC中实现或集成的正则表达式处理模块。这个库通常包含一系列的类和函数,允许程序员编写符合特定模式...

    正则表达式测试工具C#版(src)

    正则表达式是一种强大的文本处理工具,用于在字符串中进行模式匹配和搜索。在C#编程语言中,正则表达式被广泛应用于数据验证、文本提取、格式转换等多个场景。本项目提供了一个C#编写的正则表达式测试工具,包含完整...

    qt使用正则表达式限制lineEdit的输入,对正则表达式进行了封装,可以直接引入,工程编译正常

    在Qt框架中,正则表达式(Regular Expression)是一种强大的文本处理工具,它允许程序员以结构化的方式匹配、查找、替换或验证字符串。本项目针对Qt的lineEdit组件,通过正则表达式实现了输入限制功能,使得lineEdit...

    正则表达式必知必会v_1.0.pdf

    "正则表达式必知必会" 正则表达式是一种强大的文本处理工具,广泛应用于各个领域。下面是对正则表达式的详细解释: 正则表达式的用途 正则表达式主要用于处理文本,提供了两大主要功能:查找和替换。查找功能允许...

    正则表达式大全 - 收集的最常用正则表达式

    6. 匹配Email地址:`w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*` - 这个正则表达式用于验证Email地址的格式,但可能无法匹配所有有效的Email地址,因为Email地址的规则相当复杂。 7. 匹配网址URL:`[a-zA-z]+://[^s]*` ...

    Lucene 使用正则表达式

    在Lucene中,可以通过`regexQuery`来利用正则表达式进行复杂条件的匹配,从而实现更精确的搜索需求。 #### regexQuery详解 `regexQuery`是Lucene提供的一个用于执行正则表达式查询的方法。它接受一个`Term`对象作为...

    C语言正则表达式库

    1. **语法兼容性**:如描述所述,PCRE库的正则表达式语法与Perl语言高度兼容,这意味着开发者可以利用Perl中广泛使用的正则表达式语法,如贪婪和非贪婪量词、分支选择、反向引用等。 2. **Unicode支持**:PCRE库...

    IP地址的正则表达式

    在网络设备配置中,可以利用正则表达式来过滤和管理大量的IP地址信息。 总之,“IP地址的正则表达式”不仅展示了正则表达式的强大功能,也揭示了在处理网络通信和数据验证中正则表达式的实用价值。理解和掌握这一...

    精通正则表达式(第三版)简体中文版

    利用正则表达式来进行邮件地址的有效性检查等。 #### 七、总结 《精通正则表达式(第三版)简体中文版》是一本全面介绍正则表达式技术的书籍,不仅覆盖了基本语法和高级特性,还详细讲解了在不同编程环境下的具体...

    java正则表达式验证IP地址

    Java正则表达式验证IP地址 Java正则表达式验证IP地址是指使用Java语言中的正则表达式来验证IP地址是否符合标准。IP地址是指在网络通信中用来标识设备的地址,它是一种逻辑地址,通过它可以找到网络中的设备。在...

    正则表达式自动生成器 V2.0.0.1 官方多语版

    例如,你可以用正则表达式验证电子邮件地址的格式,或者从一大段文本中找出所有的电话号码。 这款V2.0.0.1版本的正则表达式自动生成器提供了一些关键功能,包括: 1. **向导式界面**:对于不熟悉正则语法的用户,...

    精通正则表达式(第3版)(含awz3 mobi epub)

    随着互联网的迅速发展,几乎所有工具软件和程序语言都支持的正则表达式也变得越来越强大和易于使用。本书是讲解正则表达式的经典之作。本书主要讲解了正则表达式的特性和流派、匹配原理、优化原则、实用诀窍以及调校...

    正则表达式验证工具,正则表达式校验工具

    正则表达式验证工具 V1.0 本软件主要用于检测正则表达式是否正确。 运行环境:本软件为绿色软件,无需安装,但需要Microsoft .NET Framework 4 支持,如果没有请前去下载(下载路径:...

    java正则表达式匹配工具

    Java正则表达式匹配工具是IT领域中一种强大的文本处理工具,它利用正则表达式(Regular Expression)的规则来查找、替换或者提取文本中的特定模式。正则表达式是一种特殊的字符序列,能够帮助程序员或者用户高效地...

Global site tag (gtag.js) - Google Analytics