因为最近有程序需要在java环境下获取网卡ID,研究了SUN网站的相关资料(感谢令公子的连接)。
测试整理了一下,分享给大家。
思路是通过调用windows环境下的ipconfig命令和Linux环境下的ifconfig命令来获取网卡信息:
分为四个程序文件:
test.java;NetworkInfo.java;WindowsNetworkInfo.java;LinuxNetworkInfo.java
//--------------test.java--------
package netcardinfo;
public class test {
public test() {
}
public NetworkInfo nti = new WindowsNetworkInfo();
public static void main(String[] args) {
test test1 = new test();
try {
System.out.println("Network infos");
System.out.println("Operating System:" + System.getProperty("os.name"));
System.out.println("IP/Localhost:" + test1.nti.getLocalHost());
System.out.println("MAC Address:" + test1.nti.getMacAddress());
System.out.println("Domain:" + test1.nti.getNetworkDomain());
}
catch(Throwable t) {
t.printStackTrace();
}
}
}
//---------end file---------
//-----------NetworkInfo.java----------
package netcardinfo;
import java.net.*;
import java.io.*;
import java.text.*;
import java.util.*;
import java.util.regex.*;
public abstract class NetworkInfo{
private static final String LOCALHOST = "localhost";
public static final String NSLOOKUP_CMD = "nslookup";
public abstract String parseMacAddress() throws ParseException;
/** Not too sure of the ramifications here, but it just doesn't seem right */
public String parseDomain() throws ParseException { return parseDomain(LOCALHOST); }
/** Universal entry for retrieving MAC Address */
public final static String getMacAddress() throws IOException {
try {
NetworkInfo info = getNetworkInfo();
String mac = info.parseMacAddress();
return mac;
}
catch(ParseException ex)
{ ex.printStackTrace();
throw new IOException(ex.getMessage());
}
}
/** Univer
测试整理了一下,分享给大家。
思路是通过调用windows环境下的ipconfig命令和Linux环境下的ifconfig命令来获取网卡信息:
分为四个程序文件:
test.java;NetworkInfo.java;WindowsNetworkInfo.java;LinuxNetworkInfo.java
//--------------test.java--------
package netcardinfo;
public class test {
public test() {
}
public NetworkInfo nti = new WindowsNetworkInfo();
public static void main(String[] args) {
test test1 = new test();
try {
System.out.println("Network infos");
System.out.println("Operating System:" + System.getProperty("os.name"));
System.out.println("IP/Localhost:" + test1.nti.getLocalHost());
System.out.println("MAC Address:" + test1.nti.getMacAddress());
System.out.println("Domain:" + test1.nti.getNetworkDomain());
}
catch(Throwable t) {
t.printStackTrace();
}
}
}
//---------end file---------
//-----------NetworkInfo.java----------
package netcardinfo;
import java.net.*;
import java.io.*;
import java.text.*;
import java.util.*;
import java.util.regex.*;
public abstract class NetworkInfo{
private static final String LOCALHOST = "localhost";
public static final String NSLOOKUP_CMD = "nslookup";
public abstract String parseMacAddress() throws ParseException;
/** Not too sure of the ramifications here, but it just doesn't seem right */
public String parseDomain() throws ParseException { return parseDomain(LOCALHOST); }
/** Universal entry for retrieving MAC Address */
public final static String getMacAddress() throws IOException {
try {
NetworkInfo info = getNetworkInfo();
String mac = info.parseMacAddress();
return mac;
}
catch(ParseException ex)
{ ex.printStackTrace();
throw new IOException(ex.getMessage());
}
}
/** Univer
| 对此文章发表了评论 |
