`
housheng33
  • 浏览: 238526 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

(转)jdk1.6下取得mac地址

 
阅读更多
转自老紫竹

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();
     }
   }
}



分享到:
评论

相关推荐

    苹果电脑安装jdk1.6 mac for jdk1.6 jdk6 安装版

    mac for jdk1.6 jdk6 安装版 里面有两个jdk1.6的安装包,都可以用 如果电脑上安装有1.7,1.8等高版本jdk就不要再下安装包了,安装包安装会报错 命令是这个:brew install java6或 brew install homebrew/cask-...

    jdk1.6集成jjwt的问题

    标题中的“jdk1.6集成jjwt的问题”指的是在Java Development Kit (JDK) 版本1.6的环境下,尝试整合JSON Web Token (JWT) 库jjwt时遇到的挑战。JWT是一种开放标准(RFC 7519),用于在各方之间安全地传输信息作为 ...

    JDK1.6版本下载

    **JDK 1.6版本详解** Java Development Kit(JDK)是Oracle公司提供的用于开发和运行Java应用程序的工具集合。JDK 1.6,也被称为Java SE 6,是Java平台的一个重要版本,发布于2006年12月11日。这个版本在Java社区中...

    解决JDK1.6下的Base64报错问题

    在资源文件中的`解决JDK1.6下的Base64.jar`可能是包含了一个兼容JDK 1.6的Base64实现的第三方库,你可以直接将这个jar包添加到你的项目类路径中,这样就可以使用其中提供的Base64类而无需修改代码。添加方法通常包括...

    aspose-words-15.8.0-jdk1.6

    aspose-words-15.8.0-jdk1.6aspose-words-15.8.0-jdk1.6aspose-words-15.8.0-jdk1.6aspose-words-15.8.0-jdk1.6aspose-words-15.8.0-jdk1.6aspose-words-15.8.0-jdk1.6aspose-words-15.8.0-jdk1.6aspose-words-...

    如何解决JDK1.6下的Base64

    提供的压缩包文件"解决JDK1.6下的Base64.txt"可能包含了如何集成和使用这些第三方库的详细步骤,或者可能是自定义的Base64实现。在实际应用中,你需要根据文件内容来调整你的项目配置。 总的来说,尽管JDK 1.6没有...

    okhttp3.8源码使用jdk1.6重新编译_okhttp3.8.0-jdk1.6.zip

    1.okhttp3.8源码使用jdk1.6重新编译,已集成了okio,在javaweb项目中使用,未在安卓项目中使用 2.okhttp3.8源码使用jdk1.6重新编译_okhttp3.8.0-jdk1.6.jar

    JDK1.6 for MAC

    **JDK 1.6 for MAC** Java Development Kit(JDK)是开发和运行Java应用程序的基础,它包含Java编译器、Java虚拟机(JVM)、调试工具以及其他必要的库和文件。JDK 1.6 版本是Oracle公司发布的一个重要版本,尤其...

    jdk1.6压缩包,下载即用

    JDK 1.6 版本是Oracle公司发布的一个早期版本,尽管现在已经有更新的版本(如JDK 8、11、17等),但在某些特定场景或兼容性需求下,仍需使用JDK 1.6。 **1. JDK的组成部分** - **Java编译器(javac)**:将源代码...

    okhttp3.8.0-jdk1.6.zip

    《OkHttp3.8.0-JDK1.6:低版本环境下的高效网络通信库》 OkHttp3.8.0-jdk1.6.zip是一个专门为Java Web项目设计的网络通信库,它针对JDK1.6进行了优化和重新编译,确保在较低版本的Java环境中也能稳定运行。OkHttp,...

    JDK1.6百度云下载

    综上所述,JDK1.6虽然已经不是最新版本,但在某些应用场景下仍然具有一定的实用价值。了解其主要特性以及如何安全地下载和安装,对于开发者来说都是非常重要的。同时,在分享和下载资源时也要注意遵守相关规定,确保...

    JDK1.6下的Base64解决方式.txt.zip

    本文将详细解释如何在JDK 1.6环境下解决Base64编码和解码的问题。 首先,JDK 1.8及更高版本引入了`java.util.Base64`类,提供了完整的Base64编码和解码功能。但在JDK 1.6中,我们需要依赖第三方库来实现这一功能。...

    jdk1.6 解压版-windows

    在Windows环境下使用JDK1.6,你需要设置环境变量,主要包括`JAVA_HOME`指向JDK的安装目录,以及`PATH`添加%JAVA_HOME%\bin,确保系统可以找到JDK的可执行文件。 JDK1.6相对于更早的版本,引入了一些新特性,如: -...

    jdk1.6 32位免安装纯绿色版

    然而,在某些特殊情况下,如旧项目维护或与特定版本的软件兼容性需求,仍然可能需要使用JDK 1.6。 总的来说,这个JDK 1.6 32位免安装纯绿色版是一个便捷的开发工具,适用于那些需要快速部署Java环境或者仍在维护...

    Mac OS 通用 JDK 1.6

    在 Big Sur 及一下版本测试通过, 不受MacOS 版本限制,java运行时 JDK1.6。在10.13,10.14,10.15,11.0,等版本上都以验证。

    jdk1.6解压版(免安装版)

    在给定的"jdk1.6解压版(免安装版)"中,用户无需经历传统意义上的安装过程,只需将压缩包解压到指定位置,然后配置系统环境变量,就可以开始使用这个版本的JDK进行Java程序的开发和运行。 1. **JDK1.6**:这是Java的...

    jdk1.6jar包

    **Java Development Kit (JDK) 1.6详解** Java Development Kit (JDK) 是Java编程语言的核心组件,用于开发和运行Java应用程序。JDK 1.6是Oracle公司发布的一个重要版本,它包含了编译器、Java虚拟机(JVM)、类库...

    jdk 1.6 64位

    JDK 1.6,也称为Java SE(标准版)6,是Java编程语言的一个早期版本,发布于2006年。它包含了Java编译器、Java虚拟机(JVM)、Java类库以及开发者用来创建、调试和部署Java应用程序所需的各种工具。 **JDK 1.6的...

    JDK1.6 for mac

    总的来说,JDK1.6 for mac是一个值得信赖的开发环境,尤其是在旧项目或特定平台要求的情况下。其稳定性、性能提升以及丰富的功能使得它成为许多开发者心中的"大神必备"。然而,随着技术的不断进步,更新的JDK版本也...

    IBMJDK1.6linux.zip

    由于64位系统可以处理更大的内存地址空间,因此对于需要大量内存的应用来说,IBM JDK 1.6在64位系统上的表现通常优于32位系统。 安装IBM JDK 1.6时,通常需要遵循以下步骤: 1. 下载`IBMJDK16linux.zip`压缩包到...

Global site tag (gtag.js) - Google Analytics