import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.NetworkInterface;
import java.util.Enumeration;
/**
* JDK6新特性,JAVA获得机器MAC地址的方法
*
* @author 老紫竹(Java世纪网,java2000.net)
*/
public class Test {
// 返回一个字节的十六进制字符串
static String hexByte(byte b) {
String s = "000000" + Integer.toHexString(b);
return s.substring(s.length() - 2);
}
public static void main(String[] args) throws Exception {
System.out.println("本机器的所有的网卡MAC发下:");
getMacOnWindow();
getMac();
}
/**
* JDK1.6新特性获取网卡MAC地址
*/
public static void getMac() {
try {
Enumeration<NetworkInterface> el = NetworkInterface.getNetworkInterfaces();
while (el.hasMoreElements()) {
byte[] mac = el.nextElement().getHardwareAddress();
if (mac == null)
continue;
StringBuilder builder = new StringBuilder();
for (byte b : mac) {
builder.append(hexByte(b));
builder.append("-");
}
builder.deleteCharAt(builder.length() - 1);
System.out.println(builder);
}
} catch (Exception exception) {
exception.printStackTrace();
}
}
/**
* 原始的获取网卡MAC地址
*/
public static void getMacOnWindow() {
try {
String mac = null;
Process process = Runtime.getRuntime().exec("ipconfig /all");
BufferedReader buffer = new BufferedReader(new InputStreamReader(process.getInputStream()));
for (String line = buffer.readLine(); line != null; line = buffer.readLine()) {
int index = line.indexOf("Physical Address");
if (index <= 0) {
continue;
}
mac = line.substring(index + 36);
break;
}
buffer.close();
process.waitFor();
System.out.println(mac);
} catch (Exception exception) {
exception.printStackTrace();
}
}
}
这个代码包含了以前常见的用Runtime实现的方法,已经使用JDK1.6新特性实现的方法。
分享到:
相关推荐
1.1 JDK7新特性<一>概述 . . . . . . . . . . . . . . 1.2 JDK7新特性<二> 语法 . . . . . . . . . . . . . 1.3 JDK7新特性<三> JDBC4.1 . . . . . . . . . . 1.4 JDK7新特性<四> NIO2.0 文件系统 . . . 1.5 JDK...
JDK6的新特性JDK6的新特性
JDK8新特性(pdf版)
mac jdk6 java6支持最新macOs10.13.4版本及以下,亲测有效
jdk8新特性,百度云盘。jdk8新特性,百度云盘。jdk8新特性,百度云盘。
JDK1.5新特性
JDK6的新特性之一:Desktop类和SystemTray类 JDK6的新特性之二:使用JAXB2来实现对象与XML之间的映射 JDK6的新特性之三:理解StAX StAX(JSR 173)是JDK6.0中除了DOM和SAX之外的又一种处理XML文档的API JDK6的新特性...
JDK1.8新特性,New Features in Java SE 8
JDK6的新特性,WORD版本的。JDK6
java-jdk1.4 新特性介绍
这个是mac os的jdk1.6版本,亲测没有任何问题,目前官网上已经下载不到mac os的jdk的1.6版本了。
java的jdk6安装包
jdk5、jdk6新特性系统介绍.chm 系统、全面 本人自己整理的资料
Jdk8新特性例子,内容包含 接口默认方法, 函数引用, java.util.stream api 和java.time api map的新增方法等。例子采用记事本编写,下载者需自行下载jdk8安装并配置好环境,编译(javac)运行(java)
转载 jdk1.5的一些新特性,希望能帮助大家!
Mac M1 系统 Java11 JDK安装包: jdk-11.0.18_macos-aarch64_bin.dmg
Java JDK11
NULL 博文链接:https://strength-java.iteye.com/blog/1244812
使用场景:开发和面试题中都会用到,开发中合理运用Java 8新特性可以大大简化代码量,提高开发效率,在Java面试中JDK8新特性也是面试常问的热点题目,理解这些特性之后,很容易把它们说清楚,面试嘎嘎加分 ...