用java取得電腦IP﹑電腦名稱以及網卡地址的方法
2007-03-20 16:47
483 查看
//程序代碼如下
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());
}
}
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());
}
}
相关文章推荐
- 用java取得電腦IP﹑電腦名稱以及網卡地址的方法
- Java String和Date的转换以及java.util.Date和java.sql.Date的区别和相互转化及取得年月日的方法
- java根据本地IP获取mac地址的方法
- JAVA获取公网IP地址与内网IP地址方法
- Java获取本机外网ip地址的方法
- java获取访问者真实ip和真实地址以及运营商
- Java获取本机外网ip地址的方法
- 使用Python获取网段IP个数以及地址清单的方法
- java获取客户端以及代理IP地址
- java Android SDK 环境配置完整方法 以及 相关下载地址(不需要翻墙)
- Java的InetAddress.getByName方法不指定主机名却可以确定主机的 IP 地址,真意外!
- JAVA 取得本机mac地址的方法
- Java/JSP获得客户端网卡MAC地址的三种方法解析(附:获得真实IP)
- Java获取本机外网ip地址的方法
- Java判断本机IP地址类型的方法
- JAVA与Jsp取本机ip地址的正确方法,ipv6有效
- 解决阿里云VPC网络下面ECS不能指定高于X.X.X.247私有IP地址的方法
- 根据IP获取地址信息的方法(无数据库版)
- java重写equals方法以及hashcode方法
- JAVA之 Redis 学习笔记(二) Redis的连接IP、端口号、连接密码的修改以及与JAVA简单交互