高手留步!!!在linux中java如何获得MAC Address 如何在linux中用java得到网卡物理地址?网上有一种方法是调用系统命令,应该调用哪一条命令呢?哪位大哥有例子啊?谢谢先~~~~ 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果想用纯java实现的话,可以考虑使用jpcap.这个项目文件里边有demo的. jpcap?谢谢了不过还有其他方法吗?网上都是windows的 昨天我用JDK1.5在windows下写的一个程序用的是ProcessBuilder类 同样类似于Runtime.exec()你看看是否可以参考:import java.io.IOException;import java.io.InputStream;import java.util.ArrayList;import java.util.List;public class ProcessBuilderDemo { public static void main(String[] args) { //Physical Address. . . . . . . . . : InputStream input = null; try{ //执行命令 ProcessBuilder builder = new ProcessBuilder("ipconfig" ,"/all"); Process process = builder.start(); input = process.getInputStream(); //把得到的流得到 byte[] b = new byte[1024]; StringBuffer buffer = new StringBuffer(); while (input.read(b) > 0) { buffer.append(new String(b)); } //分析流 String value = buffer.substring(0); String systemFlag = "Physical Address. . . . . . . . . :"; int index = value.indexOf(systemFlag); List<String> address = new ArrayList<String>(); if (0 < index) { value = buffer.substring(index + systemFlag.length()); address.add(value.substring(0, 18)); } //打印输出 for (String add : address) { System.out.println(add); } } catch (Exception ex) { ex.printStackTrace(); } finally { try { input.close(); } catch (IOException ex) { ex.printStackTrace(); } } }} 谢谢crazycy(崔毅)~~!!!我改改到linux下试试看,呵呵 晕,JDK1.4里没有ProcessBuilder类~~不过可以运行~~搞不懂~~ 有关是否采用多线程的问题? 重载能发生在子类与父类吗? 大家看看我这样的想法能实现么? 哪儿有netbeans6.5的教程呢? java 如何生成可以在一个完全脱离jvm 的win 系统中运行呢? JAVA在连接数据库时出错:Io异常 CSDN的新论坛太破了 JNI问题~! 寻 JWeb+ 请问具体介绍一下visual cafe吗??有下载的地方吗?多大?有卖的吗? 请问super(title)是啥意思? Java同时处理UTF-8与GBK文件的问题
不过还有其他方法吗?
网上都是windows的
你看看是否可以参考:
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;public class ProcessBuilderDemo {
public static void main(String[] args) {
//Physical Address. . . . . . . . . :
InputStream input = null;
try{
//执行命令
ProcessBuilder builder = new ProcessBuilder("ipconfig" ,"/all");
Process process = builder.start();
input = process.getInputStream();
//把得到的流得到
byte[] b = new byte[1024];
StringBuffer buffer = new StringBuffer();
while (input.read(b) > 0) {
buffer.append(new String(b));
}
//分析流
String value = buffer.substring(0);
String systemFlag = "Physical Address. . . . . . . . . :";
int index = value.indexOf(systemFlag);
List<String> address = new ArrayList<String>();
if (0 < index) {
value = buffer.substring(index + systemFlag.length());
address.add(value.substring(0, 18));
} //打印输出
for (String add : address) {
System.out.println(add);
}
} catch (Exception ex) {
ex.printStackTrace();
} finally {
try {
input.close();
}
catch (IOException ex) {
ex.printStackTrace();
}
}
}
}
我改改到linux下试试看,呵呵
不过可以运行~~搞不懂~~