您的位置:首页 > 编程语言 > Java开发

用java取得電腦IP﹑電腦名稱以及網卡地址的方法

2007-03-23 15:45 501 查看
//程序代碼如下
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.InetAddress;
/*
* Created on 2006/8/1
*
* TODO To change the template for this generated file go to
* Window - Preferences - Java - Code Style - Code Templates
*/
/**
* @author Administrator
*
* TODO To change the template for this generated type comment go to
* Window - Preferences - Java - Code Style - Code Templates
*/
public class GetMac {
private static String getMacOnWindow() {
String s = "";
try {
String s1 = "ipconfig /all";
Process process = Runtime.getRuntime().exec(s1);
BufferedReader bufferedreader = new BufferedReader(
new InputStreamReader(process.getInputStream()));
String nextLine;
for (String line = bufferedreader.readLine(); line != null; line = nextLine) {
nextLine = bufferedreader.readLine();
if (line.indexOf("Physical Address") <= 0) {
continue;
}
int i = line.indexOf("Physical Address") + 36;
s = line.substring(i);
break;
}
bufferedreader.close();
process.waitFor();
} catch (Exception exception) {
s = "";
}
return s.trim();
}
public static void main(String[] args) {
//InetAddress.getLocalHost().getHostAddress();
try{
InetAddress.getLocalHost();
System.out.println("host name="+InetAddress.getLocalHost().getHostName());
System.out.println("ip ="+InetAddress.getLocalHost().getHostAddress());
}catch(Exception ex){
//
}

System.out.println("mac ="+GetMac.getMacOnWindow());
}
}

//2﹑通過正則表達式方式獲取
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.InetAddress;
import org.apache.oro.text.regex.MatchResult;
import org.apache.oro.text.regex.Pattern;
import org.apache.oro.text.regex.PatternCompiler;
import org.apache.oro.text.regex.PatternMatcher;
import org.apache.oro.text.regex.Perl5Compiler;
import org.apache.oro.text.regex.Perl5Matcher;
/*
* Created on 2006/8/1
*
* TODO To change the template for this generated file go to
* Window - Preferences - Java - Code Style - Code Templates
*/
/**
* @author Administrator
*
* TODO To change the template for this generated type comment go to
* Window - Preferences - Java - Code Style - Code Templates
*/
public class GetMac {
private static String getMacOnWindow() {
String s = "";
try {
String s1 = "ipconfig /all";
Process process = Runtime.getRuntime().exec(s1);
BufferedReader bufferedreader = new BufferedReader(
new InputStreamReader(process.getInputStream()));
String nextLine;
for (String line = bufferedreader.readLine(); line != null; line = nextLine) {
nextLine = bufferedreader.readLine();
Pattern parttern=null;
PatternCompiler compiler = new Perl5Compiler();
//parttern = compiler.compile("Physical Address[//W]*(//w{1,2}//-//w{1,2}//-//w{1,2}//-//w{1,2}//-//w{1,2}//-//w{1,2})",Perl5Compiler.CASE_INSENSITIVE_MASK);
parttern = compiler.compile("(//w{1,2}//-//w{1,2}//-//w{1,2}//-//w{1,2}//-//w{1,2}//-//w{1,2})",Perl5Compiler.CASE_INSENSITIVE_MASK);
PatternMatcher matcher = new Perl5Matcher();
String input = line;
if (matcher.contains(input, parttern)){
//if (matcher.matches(input, parttern)){
MatchResult result = matcher.getMatch();
s =result.group(1);
break;
}

}
bufferedreader.close();
process.waitFor();
} catch (Exception exception) {
s = "";
}
return s.trim();
}
public static void main(String[] args) {
//InetAddress.getLocalHost().getHostAddress();
try{
InetAddress.getLocalHost();
System.out.println("host name="+InetAddress.getLocalHost().getHostName());
System.out.println("ip ="+InetAddress.getLocalHost().getHostAddress());
}catch(Exception ex){
//
}

System.out.println("mac ="+GetMac.getMacOnWindow());
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: