本文目录一览:
java怎么获取系统mac地址
首先,创建工程,包,和一个类。
在此不加详述,我们直接看代码。
这里,我把这个类命名为GetMacAddr
这里,最最关键的就是这里这个方法。
我们通过NetworkInterface这个类来操作。
也就是通过getLocalHost()方法先得到本机IP,
然后调用getHardwareAddress()方法得到一个byte数组的地址。
我们把六位地址传到一个byte数组里面,然后输出来就是。
不多废话,看代码:
private void getMACAddr()
throws SocketException, UnknownHostException {
// 获得IP
NetworkInterface netInterface =
NetworkInterface.getByInetAddress(InetAddress.getLocalHost());
// 获得Mac地址的byte数组
byte[] macAddr = netInterface.getHardwareAddress();
System.out.print("MAC Addr:\t");
// 循环输出
for (byte b : macAddr) {
// 这里的toHexString()是自己写的格式化输出的方法,见下步。
System.out.print(toHexString(b) + " ");
}
}
上一步骤中,为什么会出现一个toHexString()方法呢?
因为可能10进制转16进制时候可能会出现单字符,
所以,如果有出现单字符的情况,我们在其前面添加一个“0”做占位符。
这也是为了视觉的直观,也夹带着个人的习惯。
private static String toHexString(int integer) {
// 将得来的int类型数字转化为十六进制数
String str = Integer.toHexString((int) (integer 0xff));
// 如果遇到单字符,前置0占位补满两格
if (str.length() == 1) {
str = "0" + str;
}
return str;
}
java如何获取mac地址?
以windows举例。
运行命令" cmd ipconfig /all"就会出现以下结果
Physical Address. . . . . . . . . : 20-CF-30-9A-60-EE
。
java就能过这样的命令来获取。以下是示例。
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class TestMac
{
public static void main(String[] args) {
System.out.println("Operation System=" + getOsName());
System.out.println("Mac Address=" + getMACAddress());
System.out.println("通过ip获取mac"+getMACAddress("192.168.1.101"));
}
public static String getOsName() {
String os = "";
os = System.getProperty("os.name");
return os;
}
public static String getMACAddress() {
String address = "";
String os = getOsName();
if (os.startsWith("Windows")) {
try {
String command = "cmd.exe /c ipconfig /all";
Process p = Runtime.getRuntime().exec(command);
BufferedReader br = new BufferedReader(new InputStreamReader(p.getInputStream()));
String line;
while ((line = br.readLine()) != null) {
if (line.indexOf("Physical Address") 0) {
int index = line.indexOf(":");
index += 2;
address = line.substring(index);
break;
}
}
br.close();
return address.trim();
} catch (IOException e) {
}
} else if (os.startsWith("Linux")) {
String command = "/bin/sh -c ifconfig -a";
Process p;
try {
p = Runtime.getRuntime().exec(command);
BufferedReader br = new BufferedReader(new InputStreamReader(p.getInputStream()));
String line;
while ((line = br.readLine()) != null) {
if (line.indexOf("HWaddr") 0) {
int index = line.indexOf("HWaddr") + "HWaddr".length();
address = line.substring(index);
break;
}
}
br.close();
} catch (IOException e) {
}
}
address = address.trim();
return address;
}
public static String getMACAddress(String ipAddress) {
String str = "", strMAC = "", macAddress = "";
try {
Process pp = Runtime.getRuntime().exec("nbtstat -a " + ipAddress);
InputStreamReader ir = new InputStreamReader(pp.getInputStream());
LineNumberReader input = new LineNumberReader(ir);
for (int i = 1; i 100; i++) {
str = input.readLine();
if (str != null) {
if (str.indexOf("MAC Address") 1) {
strMAC = str.substring(str.indexOf("MAC Address") + 14,
str.length());
break;
}
}
}
} catch (IOException ex) {
return "Can't Get MAC Address!";
}
//
if (strMAC.length() 17) {
return "Error!";
}
macAddress = strMAC.substring(0, 2) + ":" + strMAC.substring(3, 5)
+ ":" + strMAC.substring(6, 8) + ":" + strMAC.substring(9, 11)
+ ":" + strMAC.substring(12, 14) + ":"
+ strMAC.substring(15, 17);
//
return macAddress;
}
}
剑天梦的回答原理和我这个一样,都是通过Process 执行命令。 我直接补充到答案里了。不过
我这边运行那个命令出来的结果很多,那么花的时间就长了。优点是能够获取别人的mac地址 。
如何配置mac环境下的JAVA
MAC系统jdk安装路径与windows同默认目录:/System/Libray/Frameworks
/JavaVM.Framwork/
目录Versions目录面同版本jdk
1.设置mac默认java版本呢 ?
先看macjava链接哪:
进入相应目录:cd /usr/bin
查看java链接哪:ls -l java
localhost:bin root# ls -l java
lrwxr-xr-x 1 root wheel 74 May 18 10:26 java -
/System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java
看java连接current版本底版本呢?其实maccurrent快捷式已便设置默认java
链接连哪默认java哪mac保持java链接变改变前java即面步骤:
1)打 Finder : 单击桌面步finder图标即
2)Application--Utilities--Java--Java Preferences
3)由第二步打Java Preferences框选Generaltab面Java Application Runtime
Settings区需要java版本拖顶端即
顶端java前(current)java改变默认java版本用/usr/bin重新设置java链接直接需要java拖面行
2.MACjavahome设置
windowsjavahome值取版本号目录即mac稍微同要版本号目录Home目录:
JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home
3. MAC设置JAVA_HOME环境变量
环境变量要再etc目录profile文件配置才永久配置
cd /etc
vi profile
输入内容:
JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home
export JAVA_HOME
保存重启或者注销使环境变量配置起作用
javahome环境便令配置
如何为 Mac 安装 Java
mac安装java的方法和步骤:
1、下载mac版专用的jdk1.7。
2、下好之后,双击dmg打开,如图。直到安装完成,这里不会让你选择安装目录的。
3、改变jvm首选顺序,在Spotlight里搜索[Java Preferences](中文版应该是JAVA偏好设置),应该能看到已经有的几个虚拟机,把JAVA SE 7拖拽到最上面,就可以了(比如我拖拽的是64位版本的)。如图:
4、确认java使用的版本:开一个终端,输入java -version,确认jvm的版本号是jdk1.7.0。
5、设置jre,首先打开eclipse(如果你改了jvm的顺序,让1.7在最上面,又没在eclipse的配置里写死jvm的启动位置,那么应该就已经用jdk1.7启动了)。
6、打开首选项-Java-Installed JREs,看到右侧的JRE列表,如果已经使用是默认的jdk1.6的话,点Add,选择MacOS X VM,在路径的地方指向到jdk7的安装位置,就可以了。这里注意一定要选到Home目录下面。
7、如果你找不到jdk1.7的安装位置在哪里,到这个路径下看看是否存在:/Library/Java/JavaVirtualMachines/jdk1.7.0_10.jdk/Contents/Home
8、正确的话,下面会识别出一堆jar包位置,然后给这一坨jre起个帅气的名字。
9、如果想启用jdk1.7的语法,必须要eclipse版本在3.8/4.2以上(目前我写这篇博客的时候,4.2已经达到了Milestone4),然后可以在workspace/project属性里把编译等级调整到1.7,就能享受jdk1.7的语言特性了(不过前提是,使用的jdk以及jre必须都是jdk1.7以上才行)。
macbookpro适合java开发吗
Macbookpro比较适合java开发,java开发推荐千锋教育,千锋教育现已拥有成熟独立的项目库,项目均1:1引进大厂项目,授课采用 CREA 项目研发模型,即 Cooperation、Research、Exercise、Alliance,以项目促进高质量教学。
Java 是几乎所有类型的网络应用程序的基础,也是开发和提供嵌入式和移动应用程序、游戏、基于 Web 的内容和企业软件的全球标准。Java 在全球各地有超过 900 万的开发人员,使您能够高效地开发、部署和使用精彩的应用程序和服务。从笔记本电脑到数据中心,从游戏控制台到科学超级计算机,从手机到互联网,Java 无处不在.
想要了解更多Java开发的相关信息,推荐咨询千锋教育。千锋企合作部整合大量企业客户资源,紧抓当下企业需求,将技术和项目完美结合千锋课程体系,力求培养更多优质人才服务企业,不断提升学员竞争力,链接企业用人标准的培训课程及实战项目,让企业招聘用人的技术要求与千锋学员的技术充分对接。