`
夏莹_合肥
  • 浏览: 180340 次
  • 性别: Icon_minigender_1
  • 来自: 合肥
社区版块
存档分类
最新评论

java读取window系统的mac

    博客分类:
  • Java
阅读更多
package com.yingxia.deposit.server.common;

import java.io.BufferedReader;
import java.io.InputStreamReader;

public class MacReader {

	public static String physicalAddress = "read MAC error!";

	public MacReader() {
	}

	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地址是: " + MacReader.checkPhysicalAddress());
	}
}

 

 

package com.yingxia.deposit.server.common;

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;

public class MacReader {

	public static String physicalAddress = "read MAC error!";

	public MacReader() {
	}
	
	public static boolean isValid() {
		try {
			return getSpecialMacFromFile().equals(checkPhysicalAddress());
		} catch(Exception ex) {
			ex.printStackTrace();
			return false;
		}
	}
	
	public static String getSpecialMacFromFile() throws Exception {
		String resource = "com/yingxia/deposit/server/common/MacReader";
		InputStream in = MacReader.class.getClassLoader().getResourceAsStream(resource);
		if(in == null) {
			in = ClassLoader.getSystemResourceAsStream(resource);
		}
		InputStreamReader fr = new InputStreamReader(in);
		BufferedReader br = new BufferedReader(fr);
		return br.readLine();
	}

	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) throws Exception {
		System.out.println(isValid());
	}
}

 

 

分享到:
评论

相关推荐

    Window资源管理器Java版src

    "Java版"强调了它使用的编程语言,Java因其“一次编写,到处运行”的特性,使得这款软件可以在不同的操作系统上运行,例如Windows、Mac OS、Linux等。"源码"则表明该软件提供源代码,为开发者提供了学习和扩展的基础...

    javacv jar 包window64,linux64 javacv-macosx-x86_64.jar

    这个标题提到的是JavaCV的jar包,适用于三种不同的操作系统:Windows 64位、Linux 64位以及Mac OS X 64位。这些jar包使得开发者能够在这些平台上方便地集成计算机视觉功能到他们的Java应用程序中。 1. **JavaCV介绍...

    java记事本(与windows的记事本一样的功能)

    Swing是Java AWT(Abstract Window Toolkit)的扩展,提供了丰富的组件库,如JFrame(窗口)、JButton(按钮)、JTextArea(文本区域)等,用于构建桌面应用程序。 3. **文本编辑器功能**:这个Java记事本实现了与...

    mysql-connector-java-8.0.19.zip驱动下载window和liux

    MySQL是世界上最受欢迎的开源数据库系统之一,而MySQL Connector/J是MySQL官方提供的用于Java应用程序与MySQL数据库之间连接的驱动程序。本文将深入探讨MySQL Connector/J 8.0.19版本在Windows和Linux操作系统中的...

    java毕业设计 基于Springboot的电子发票管理系统源码+使用文档+全部资料(优秀项目).zip

    java毕业设计 基于Springboot的电子发票管理系统源码+使用文档+全部资料(优秀项目).zipjava毕业设计 基于Springboot的电子发票管理系统源码+使用文档+全部资料(优秀项目).zip 【备注】 1、该项目是个人高分毕业...

    画图工具JAVA源代码

    通过使用Java,开发者可以创建跨平台的应用程序,这使得该工具可以在Windows、Linux或Mac OS等不同操作系统上运行。 首先,我们需要理解Java的基础知识。Java是一种广泛使用的面向对象的编程语言,由Sun ...

    基于 java swing 开发的资源管理器。使用 java swing 美化包beautyeye对原生的 java.zip

    1. **Java Swing**:Swing是Java AWT(Abstract Window Toolkit)的扩展,提供了一套轻量级的组件,支持事件处理、布局管理、模型-视图-控制器设计模式。它使用JavaBeans组件架构,允许开发者创建可重用的组件,并且...

    java录屏小程序

    Java作为一种跨平台的编程语言,使得这款录屏小程序具备了良好的平台兼容性,可以在Windows、Mac OS、Linux等不同操作系统上运行,只要这些系统支持Java环境。JRE是Java应用程序的运行基础,它提供了执行Java代码所...

    一个java版的屏幕截取工具

    - **Java平台**:Java是一种跨平台的编程语言,可在不同的操作系统上运行,如Windows、Mac OS、Linux等。 - **Java虚拟机(JVM)**:Java程序需要通过JVM来执行,JVM负责解析.class文件并执行字节码。 - **Java...

    java全屏幕截图程序

    Java的跨平台特性使得全屏幕截图程序可以在多种操作系统上运行,如Windows、Linux和Mac OS。但需要注意的是,不同的操作系统可能有不同的屏幕截图限制和行为,因此在编写代码时需要考虑这些差异。 6. **性能优化**...

    java小游戏开心农场

    这对于游戏开发者来说,意味着游戏可以轻松地在不同的操作系统上部署,如Windows、Mac OS或Linux。 【Eclipse IDE】 Eclipse是一款流行的开源集成开发环境(IDE),广泛用于Java应用的开发。它提供了代码编辑、...

    java皮肤包

    通过更换LookAndFeel,可以使得应用看起来像是Windows、Mac OS X或其他操作系统上的原生应用,或者采用自定义的外观设计。Look and Feel 包括组件的颜色、字体、形状和动画效果等。 2. **预定义的LookAndFeel** ...

    Java2实用教程电子教案

    其“一次编写,到处运行”的特性使得Java在各种操作系统上都能运行,包括Windows、Mac OS和各类Linux发行版。 2. **基础语法**:Java的基础语法包括变量定义、数据类型(如整型、浮点型、字符型、布尔型)、运算符...

    map of java平台

    - **AWT**:Abstract Window Toolkit,Java的第一个图形用户界面工具包,用于构建GUI应用程序。 - **Swing**:一种轻量级的GUI工具包,基于AWT但提供了更多的灵活性和定制能力。 - **Java2D**:为二维图形渲染和图像...

    java写的记事本

    这个Java记事本程序可以在任何安装了Java运行环境的操作系统上运行,包括Windows、Mac OS和Linux。 7. **扩展性**:除了基本功能外,开发者可能还添加了一些额外特性,如查找替换、撤销重做、文本格式化等,以增强...

    Java Notes from my teacher abroad

    4. **高度可移植性**:Java程序可以在多种不同的硬件架构和操作系统上运行,如Intel、Sparc、PowerPC等CPU架构以及Windows、Unix、Mac OS等操作系统。这种特性极大地简化了软件的部署过程。 5. **可靠性**:Java避免...

    db.rar_JAVA小游戏

    Java是一种广泛使用的面向对象的编程语言,以其“一次编写,到处运行”的特性而著名,这使得Java小游戏可以在多种操作系统上运行,包括Windows、Mac OS以及各种Linux发行版。 在Java中开发小游戏涉及到多个关键知识...

    Java开发环境的安装配置手册

    下载JDK1.6后,根据操作系统类型(Windows、Linux或Mac OS)选择相应的安装包。双击运行安装程序,按照向导指示进行操作,通常默认设置即可。 **2. JDK环境配置** 安装完成后,需要配置系统环境变量。在Windows系统...

    JAVA坦克大战tankwar源项目

    Java是一种面向对象的语言,它具有跨平台性,这使得Java编写的游戏可以在不同的操作系统上运行,如Windows、Linux和Mac OS。NetBeans则是一款强大的开源IDE,支持多种语言,包括Java,为开发者提供了代码编辑、调试...

    基于Java的实例源码-调色板面板源代码.zip

    它的“一次编写,到处运行”特性使得Java在各种操作系统上都能运行,包括Windows、Mac OS和Linux。Java具有丰富的类库,其中AWT(Abstract Window Toolkit)和Swing是用于创建图形用户界面的主要组件。 2. AWT与...

Global site tag (gtag.js) - Google Analytics