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

用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());
 }
}
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息