- 浏览: 560412 次
- 性别:
- 来自: 安徽
文章分类
最新评论
-
baynjh:
jp.ne.so_net.ga2.no_ji.jcom.JCo ...
java应用jcom将word转pdf -
zgw06629:
你好,请问你都做了哪些修改呢?是在客户端还是服务端?
http上传文件深度解析-高性能http传输 -
eidolon:
翻译有误。 l ?:意思是操作符左边的符号( ...
BNF 和EBNF的含义与用法(感谢译者:Sunnybill) -
huoyj:
请教一个问题,是不是HTTP请求里面没有包含上传文件在客户端的 ...
http上传文件深度解析-高性能http传输 -
a49688448:
“认清” 我还以为google怎么你了
最近终于认清了google
package com.etong.bms; import java.io.BufferedInputStream; import java.io.IOException; import java.io.InputStream; import java.net.InetAddress; import java.util.StringTokenizer; import com.sun.org.apache.xerces.internal.impl.xpath.regex.ParseException; public final class GetMacAddr { private final static String getMacAddress() throws IOException { String os = System.getProperty("os.name"); try { if (os.startsWith("Windows")) { return windowsParseMacAddress(windowsRunIpConfigCommand()); } else if (os.startsWith("Linux")) { return linuxParseMacAddress(linuxRunIfConfigCommand()); } else { throw new IOException("unknown operating system: " + os); } } catch (ParseException ex) { ex.printStackTrace(); throw new IOException(ex.getMessage()); } } /* * Linux stuff */ private final static String linuxParseMacAddress(String ipConfigResponse) throws ParseException { String localHost = null; try { localHost = InetAddress.getLocalHost().getHostAddress(); } catch (java.net.UnknownHostException ex) { ex.printStackTrace(); throw new ParseException(ex.getMessage(), 0); } StringTokenizer tokenizer = new StringTokenizer(ipConfigResponse, "\n"); String lastMacAddress = null; while (tokenizer.hasMoreTokens()) { String line = tokenizer.nextToken().trim(); boolean containsLocalHost = line.indexOf(localHost) >= 0; // see if line contains IP address if (containsLocalHost && lastMacAddress != null) { return lastMacAddress; } // see if line contains MAC address int macAddressPosition = line.indexOf("HWaddr"); if (macAddressPosition <= 0) continue; String macAddressCandidate = line.substring(macAddressPosition + 6) .trim(); if (linuxIsMacAddress(macAddressCandidate)) { lastMacAddress = macAddressCandidate; continue; } } ParseException ex = new ParseException("cannot read MAC address for " + localHost + " from [" + ipConfigResponse + "]", 0); ex.printStackTrace(); throw ex; } private final static boolean linuxIsMacAddress(String macAddressCandidate) { // TODO: use a smart regular expression if (macAddressCandidate.length() != 17) return false; return true; } private final static String linuxRunIfConfigCommand() throws IOException { Process p = Runtime.getRuntime().exec("ifconfig"); InputStream stdoutStream = new BufferedInputStream(p.getInputStream()); StringBuffer buffer = new StringBuffer(); for (;;) { int c = stdoutStream.read(); if (c == -1) break; buffer.append((char) c); } String outputText = buffer.toString(); stdoutStream.close(); return outputText; } /* * Windows stuff */ private final static String windowsParseMacAddress(String ipConfigResponse) throws ParseException { String localHost = null; try { localHost = InetAddress.getLocalHost().getHostAddress(); } catch (java.net.UnknownHostException ex) { ex.printStackTrace(); throw new ParseException(ex.getMessage(), 0); } StringTokenizer tokenizer = new StringTokenizer(ipConfigResponse, "\n"); String lastMacAddress = null; while (tokenizer.hasMoreTokens()) { String line = tokenizer.nextToken().trim(); // see if line contains IP address if (line.endsWith(localHost) && lastMacAddress != null) { return lastMacAddress; } // see if line contains MAC address int macAddressPosition = line.indexOf(":"); if (macAddressPosition <= 0) continue; String macAddressCandidate = line.substring(macAddressPosition + 1) .trim(); if (windowsIsMacAddress(macAddressCandidate)) { lastMacAddress = macAddressCandidate; continue; } } ParseException ex = new ParseException("cannot read MAC address from [" + ipConfigResponse + "]", 0); ex.printStackTrace(); throw ex; } private final static boolean windowsIsMacAddress(String macAddressCandidate) { // TODO: use a smart regular expression if (macAddressCandidate.length() != 17) return false; return true; } private final static String windowsRunIpConfigCommand() throws IOException { Process p = Runtime.getRuntime().exec("ipconfig /all"); InputStream stdoutStream = new BufferedInputStream(p.getInputStream()); StringBuffer buffer = new StringBuffer(); for (;;) { int c = stdoutStream.read(); if (c == -1) break; buffer.append((char) c); } String outputText = buffer.toString(); stdoutStream.close(); return outputText; } /* * Main */ public final static void main(String[] args) { try { System.out.println("Network infos"); System.out.println(" Operating System: " + System.getProperty("os.name")); System.out.println(" IP/Localhost: " + InetAddress.getLocalHost().getHostAddress()); System.out.println(" MAC Address: " + getMacAddress()); } catch (Throwable t) { t.printStackTrace(); } } }
发表评论
-
java获取项目路径
2010-12-16 13:40 1233在jsp和class文件中调用的相对路径不同。 在jsp里,根 ... -
CSS控制DIV圆角
2010-12-09 15:51 1928<!DOCTYPE HTML PUBLIC " ... -
强大的web打印功能
2010-08-24 11:17 11551.<html> 2.<head> ... -
一个java写的托盘练习
2010-08-14 15:48 1016package minsize;import javax.sw ... -
Java的SystemTray类的使用方法
2010-08-14 15:38 3358Java的SystemTray类的使用方法 JDK1.6版增 ... -
Hibernate中发生"Session is closed" 的另一种可能!
2010-07-17 23:39 1758Hibernate中发生"Session ... -
求园柱体的表面积和体积
2010-06-13 11:50 32791.先创建一个Point类,然后定义Trianglele类。在 ... -
写一个Point类,计算两个Point实例之间的距离;写一个判断点是否在圆内的方法。
2010-06-13 11:47 8018写一个Point类,计算 ... -
打印分页代码
2009-10-27 15:27 1276<!-- define some variables u ... -
非常好的打印预览代码
2009-10-27 15:24 1964<!DOCTYPE html PUBLIC &quo ... -
http上传文件深度解析-高性能http传输
2009-10-24 16:59 11387http上传文件深度解析-高性能http传输 2008-12 ... -
使用java2word向已经建好的表格里插入数据
2009-05-18 13:41 2790上一篇讲如何NEW一个已经填充好数据的表格出来,这篇我介绍 ... -
使用java2word向word文档里插入文本、表格、图片
2009-05-18 13:41 5947import java.util.ArrayList; ... -
JSP request对象属性列表
2009-05-15 15:05 3034<% out.println("Protoc ... -
LDAP 集成应用实例
2009-05-15 13:58 9336我们部门有一个系统是专门用来记录大家的请假和加班的.这个系统有 ... -
IBM Portal与单点登录、集成企业级应用
2009-05-15 11:19 3513IBM Portal与单点登录、集 ... -
WAP 服务器设置
2009-04-11 15:53 1754WAP 服务器设置 二十一世纪是信息的世纪,以IP技 ... -
本地图片预览
2009-04-01 17:11 1200<?xml version="1.0" ... -
图片预装载技术
2009-04-01 17:08 1243<html> <body> < ... -
鼠标中键放大缩小图片
2009-04-01 17:03 1892<!DOCTYPE HTML PUBLIC " ...
相关推荐
这段代码使用`Runtime.getRuntime().exec()`方法执行命令行指令,然后通过读取输出流的方式获取MAC地址。 #### 三、在Linux环境下获取IP地址 在Linux环境中,可以通过`InetAddress`类来获取主机的IP地址。但是需要...
执行main方法获取mac地址,最权威的demo自己测试已经正常使用。网上基本都是假的获取不到,只有我这个才是最方便的
以下将详细介绍如何使用Java代码在Android中获取Mac地址。 1. **获取Mac地址的基础概念** - **Mac地址**:Media Access Control (MAC) 地址是一个48位的二进制数字,通常表示为12个16进制数,例如`00:11:22:33:44:...
在对网内主机进行监控时需要通过java获取远程机器的mac地址
- **校验物理唯一性**:如果需要确保MAC地址在实际网络中是唯一的,可以查询网络接口或使用第三方库,如`java.net.NetworkInterface`类来获取和验证。 3. **MAC地址转换**: - **二进制与十六进制转换**:可以...
获取用户请求IP地址 根据IP地址获取mac地址
java获取mac,通过命令获取裁剪后得到想要的内容
至于获取MAC地址,这需要用到`NetworkInterface`类的`getHardwareAddress()`方法。以下是一个获取MAC地址的示例: ```java public static String getLocalMACAddress() { String macAddress = ""; try { ...
### Java 获取客户端 IP 地址 在 Web 开发中,获取客户端 IP 地址是一项非常重要的功能,尤其是在需要记录用户活动、实现地理位置定位...以上就是关于如何在 Java 中获取客户端 IP 地址及 MAC 地址的相关知识点介绍。
java中通过ip获取远程客户端的mac地址,支持跨平台
java获取不同操作系统的名称以及mac地址工具类,例如:windows,Linux,Unix等
在Java中获取MAC地址通常涉及网络接口的查询。以下是一个简单的示例: - 引入所需库: ```java import java.net.NetworkInterface; import java.net.SocketException; import java.util.Enumeration; ``` - ...
在Java中,可以通过调用`Runtime.getRuntime().exec()`方法执行操作系统级别的命令来获取MAC地址。此方法适用于Windows和Unix/Linux系统。具体来说,对于Windows系统,我们通常使用`ipconfig /all`命令;而对于Unix/...
### 使用Java实现获取MAC地址的方法 #### 背景与目的 在计算机网络管理或安全领域,有时需要获取远程主机的MAC地址来进行设备识别或跟踪。本文将介绍一种使用Java编程语言来实现获取本地或远程计算机MAC地址的方法...
首先,我们来看`MacAddressHelper.java`这个文件,它应该是一个用于获取MAC地址的辅助类。这个类可能包含了一个或多个方法,其中核心方法可能是`getMacAddress()`。下面是一个可能的`MacAddressHelper`类实现: ```...
4. **获取MAC地址**:使用`NetworkInterface.getHardwareAddress()`方法从匹配的接口获取MAC地址。 代码中可能会包含异常处理,因为某些接口可能不可用或者没有硬件地址。此外,对于IPv6支持,还需要额外的处理。 ...
本文将深入解析在Java/JSP环境中获取客户端网卡MAC地址的三种常见方法,旨在为开发者提供全面而深入的理解。 ### 方法一:通过Java NIO(非阻塞I/O)库 Java NIO库提供了访问底层网络接口的能力,从而可以获取包括...
### 跨网段获取远程主机MAC地址:方法与Java实现 #### 引言与背景 在计算机网络领域,MAC地址(Media Access Control Address)作为网卡的唯一标识,扮演着关键角色,尤其是在网络通信和安全监控中。然而,传统的...
Java获取本机MAC地址IP地址主机名